以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于IF判断逻辑  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=168903)

--  作者:南望
--  发布时间:2021/5/26 15:45:00
--  关于IF判断逻辑
’如果cb2没有选中的情况下再做一次下面的判断,如果选中了就不做下面的判断。但不管CB2是否选中与否都要执行下面的“公共代码”
这个逻辑怎么写?因为公共代码很多不想反复使用,也不想放到函数。

If cb2.Checked = False Then  
If Wb.WorkSheets(k).Visible <> 0 Then        

公共代码

--  作者:有点蓝
--  发布时间:2021/5/26 16:29:00
--  
测试一下

If cb2.Checked = False Then 
msgbox("没有选中")
else
msgbox("选中")
endif

--  作者:南望
--  发布时间:2021/5/26 16:43:00
--  
您说的那个逻辑我明白,我卡在了这个“公共代码”这块。不管选没没中都要执行公共代码,可我又不想重复写公共代码。

如果没选中则加一个限定判断然后再执行公共代码,如果选中直接执行公共代码。

If cb2.Checked = False Then 
If Wb.WorkSheets(k).Visible <> 0 Then   
执行公共代码
else
也要执行公共代码
endif

--  作者:有点蓝
--  发布时间:2021/5/26 17:08:00
--  
不可能的。贴出完整代码说明
--  作者:南望
--  发布时间:2021/5/28 10:52:00
--  
代码不会写啊,这不卡在这了。我要实现的大概功能就是两种情况:
1、当cb2.checker= FASE 的情况不处理EXCEL中隐藏的SHEET
2、当cb2.checker= true的情况下,不管隐藏或不隐藏的SHEET都处理
这个判断框架请老师指导一下。

--  作者:有点蓝
--  发布时间:2021/5/28 11:12:00
--  
for  k as integer = 0 to .....
If cb2.Checked = False andalso Wb.WorkSheets(k).Visible = false Then 
continue for
endif
后续其它处理

next

--  作者:南望
--  发布时间:2021/5/28 17:16:00
--  
就是这意思,明白了,谢谢老师。