office交流網--QQ交流群號

Access培訓群:792054000         Excel免費交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

VBA中 Select Case End Select 判斷條件語句的基礎知識

2017-08-19 17:13:00
zstmtony
原創
2204

最近不少網友請教我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
分享
北京十一选五基本走势