VBA中 Select Case End Select 判断条件语句的基础知识

2017-08-19 17:13:00
zstmtony
原创
628

最近不少网友请教我Select Case 的语法问题,实在难以逐个回复,索性就这个VBA Select case语法问题写个简单的教程



Private Sub cmdTest_Click()
 Dim lngValue As Integer
 lngValue = Val(txtValue)     '将文本转换为数字
  
 Select Case lngValue 
    Case 1               '一个变量的判断
        lblTip.Caption = "变量为1"
    Case 2, 3            '二个变量的判断
        lblTip.Caption = "变量为2或3"
    Case 4 To 8         '多个变量的判断
        lblTip.Caption = "变量为4到8"
    Case 9              '一个变量的判断
        lblTip.Caption = "变量为9"
    Case Case Is > 10, Is < 20 '范围值 lblTip.Caption ="大于10 小于20" Case Else '不符合上面的判断 lblTip.Caption = "变量为其他数" End Select End Sub



在select case结构中,如果要表示某个具体的数,可以这样:
case 1
如果要表示某几个具体的数,可以这样:
case 1, 3, 7
如果要表示某个范围内的数,可以这样:
case 3 to 8    '从3到8的所有数,包含3和8
但是,如果要表示的数的范围只有下限没有上限(比如大于3),或者反过来只有上限没有下限(比如小于等于6),这怎么表示呢?这时候就要用到is了:
case is > 3
case is <= 6
所以,这个is就跟上面那个to一样,就是个命令词而已,没啥特殊的。如果你非要解释,那它就是代表了这个数(即select case后面那个表达式的值)本身。



Dim number As Integer = 8
Select Case number
    Case 1 To 5
        Debug.WriteLine("1到5之间")
    Case 6, 7, 8
        Debug.WriteLine("可选几项:6,7,8")
    Case 9 To 10
        Debug.WriteLine("9到10")
    Case Else
        Debug.WriteLine("其它值")
End Select
分享