您好,现在农农来为大家解答以上的问题。select case能用通配符吗,select case用法相信很多小伙伴还不知道,现在让我们一起来看看吧!
1、语法Select Case End Select其中,表述情形的关键字,有IS和TO,多个情形要并列在一起时,使用逗号(英文)连接。
2、当省略Case Else语句并且语句组都因情形不符合实际时,语句的执行,会直接到达End Select。
3、如果在执行语句的时候,有需要跳过没有必要再执行的语句而直接结束Select Case的情况时,请使用exit select。
4、注意在“”不是True或False关键字时,逻辑运算(And、Or、Not)会没有意义。
5、因为逻辑运算的结果是True或False,不是表述具体情况的值或者范围。
6、需要比较大小时,请使用IS、To关键字。
7、以上为了给出一个能够通用的语法而如此表述。
8、在“”是True或False关键字时,Is、To关键字没有意义。
9、以上两种情况,切记不要搞混。
10、嵌套各语句组中也可以写入完整的Select Case语句,像For循环中嵌套一个二级循环一样。
11、别误会,Select Case不是循环语句,是条件选择语句,与IF...ELSEIF...ELSEIF...END IF类似。
12、基本用法Private Sub main()Select Case InputBox("请输入你希望的天气,从晴天、多云、阴天、阵雨、小雨、小雪、冰雹中选一个填入。
13、", "请输入你希望的天气", "晴天")Case "晴天"MsgBox "哇哦!你喜欢的是晴天啊,祝你天天好心“晴”~!"Case "多云"MsgBox "喜欢多云的天气,是因为比较怕紫外线吗?"Case "阴天"MsgBox "为什么喜欢阴天呢?真令人好奇啊~!"Case "阵雨"MsgBox "为什么喜欢阵雨天呢?真令人好奇啊~!"Case "小雨"MsgBox "为什么喜欢小雨天呢?真令人好奇啊~!"Case "小雪"MsgBox "为什么喜欢小雪天呢?真令人好奇啊~!"Case "冰雹"MsgBox "为什么喜欢冰雹天呢?真令人好奇啊~!"Case ElseMsgBox "不可以酱紫!只能从我给出的几种中挑选一个填入!"End SelectEnd Sub使用关键字ISPrivate Sub main()Select Case Day(Now)Case Is 20MsgBox "目前是本月下旬!"Case ElseMsgBox "目前是本月中旬!"End SelectEnd Sub使用关键字TOPrivate Sub main()Select Case Weekday(Now)Case 1, 7MsgBox "今天是周末!"Case 2 To 6MsgBox "今天不是周末!"End SelectEnd Sub关键字IS和TO可以根据需要,在同一条情形中一起使用,例如Case Is20不过要注意的是,TO表示的区间,是闭区间,不适用于开区间(或半闭半开区间)。
14、如果一定要用select Case来确定数值在哪个区间内,可以这么做:Private Sub main()On Error GoTo errDim num As Singlenum = InputBox("请输入!")Select Case numCase Is <= 1MsgBox "这个数不大于1"Case Is < 3MsgBox "这个数在1和3之间的开区间内"Case Is < 5MsgBox "这个数在3和5之间的半闭半开区间内"Case Is 7MsgBox "这个数大于7"End SelectExit Suberr:MsgBox "这个不是可比较的数字"End Sub此时,各Case不能随便对换顺序。
15、虽然这个可以达到我们想要的效果,却因为不够严谨,让我忧心忡忡。
16、那么什么是最严谨的呢?请看高级用法。
17、高级用法语法(这里只是为了更好的理解,稍稍变一下表述,不改变实意。
18、)Select Case trueCase Case ....Case Case ElseEnd Select在此语法下,Is、To关键字没有意义,Is的值为true(Is是变量吗?这个问题真的好让人回味啊)只要逻辑运算表达式的运算结果为true,就执行该Case下的语句组。
19、那么,上面的例子就这么改。
20、Private Sub main()On Error GoTo errDim num As Singlenum = InputBox("请输入!")Select Case TrueCase num >= 5 And num <= 7MsgBox "这个数在5和7之间的闭区间内"Case num 1MsgBox "这个数在1和3之间的开区间内"Case num > 7MsgBox "这个数大于7"Case num = 3MsgBox "这个数在3和5之间的半闭半开区间内"End SelectExit Suberr:MsgBox "这个不是可比较的数字"End Sub可以看到,顺序被我随意变动了,测试也通过了。
21、那么,爱琢磨的我,又发现一个问题:Select Case True可以改成Select Case False吗?答案是,可以。
22、这里就不作示例了,只给出语法Select Case FalseCase Case ....Case Case ElseEnd Select只要逻辑运算表达式的运算结果为False,就执行该Case下的语句组。
本文就为大家分享到这里,希望小伙伴们会喜欢。