Select Case 陳述式
語法
選取案例測試表達式
[ Caseexpressionlist-n [ statements-n ]]
[其他案例[ elsestatements ]]
結束選取
Select Case 陳述式語法具有下列部分:
部分 | 描述 |
---|---|
testexpression | 必要。 任何數值運算式或字串運算式。 |
expressionlist-n | 如果 Case 顯示則為必需。 下列一或多個窗體的分隔清單: expression、 expressionToexpression、 Iscomparisonoperator表達式。 To關鍵詞會指定值的範圍。 如果您使用關鍵字 To,較小值必須出現在 To之前。 使用關鍵字 Is 和 比較運算子(除了 Is和Like 之外) 來指定值的範圍。 如果未提供,關鍵字 Is會自動插入。 |
statements-n | 選用。 如果 testexpression 符合 expressionlist n 的任何部分,一或多個陳述式就會執行。 |
elsestatements | 選用。 如果 testexpression 符合任何 Case 子句,一或多個陳述式就會執行。 |
註解
如果 testexpression 符合任何 Case表達式清單表達式,則該 Case 子句後面的語句會執行到下一個 Case 子句,或針對最後一個子句,最多執行到 End Select。 然後控制項傳到 End Select 後面的陳述式。 如果 testexpression 與多個 Case 子句中的 expressionlist運算式相符,只有第一個相符項目後面的陳述式會執行。
Case Else 子句用來表示,在任何其他 Case選取項目中的 testexpression 與 expressionlist 之間找不到相符值時,elsestatements 就會被執行。 雖然並非必要,最好將在您的 Select Case 區塊有一個 Case Else陳述式來處理未預料到的 testexpression 值。 如果沒有任何 Case表達式清單符合 testexpression,而且沒有 Case Else 語句,則會在 End Select 後面的語句繼續執行。
在每個 Case 子句中使用多個運算式或範圍。 比方說,下面這行是有效的:
Case 1 To 4, 7 To 9, 11, 13, Is > MaxNumber
注意事項
Is 比較運算子和用於 Select Case 陳述式的 Is關鍵字並不相同。
您也可以指定範圍和多個字元為字元字串。 在下列範例中,Case符合和 everything
完全相等的字串、落在 nuts
與 soup
之間依字母順序的字串和 TestItem
目前的值:
Case "everything", "nuts" To "soup", TestItem
Select Case 陳述式可以是巢狀結構。 每個巢狀的 Select Case 陳述式必須有相符的 End Select 陳述式。
範例
此範例使用 Select Case 陳述式來評估變數的值。 第二個 Case 子句包含被評估變數的值,因此只有與它關聯的陳述式被執行。
Dim Number
Number = 8 ' Initialize variable.
Select Case Number ' Evaluate Number.
Case 1 To 5 ' Number between 1 and 5, inclusive.
Debug.Print "Between 1 and 5"
' The following is the only Case clause that evaluates to True.
Case 6, 7, 8 ' Number between 6 and 8.
Debug.Print "Between 6 and 8"
Case 9 To 10 ' Number is 9 or 10.
Debug.Print "Greater than 8"
Case Else ' Other values.
Debug.Print "Not between 1 and 10"
End Select
另請參閱
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。