共用方式為


Select Case 陳述式

根據運算式的值,執行陳述式的其中一個群組。

語法

選取案例測試運算式
[ Caseexpressionlist-n [ statements-n ]]
[其他案例[ elsestatements ]]
結束選取

Select Case 陳述式語法具有下列部分:

部分 描述
testexpression 必要。 任何數值運算式字串運算式
expressionlist-n 如果 Case 顯示則為必需。

下列一或多個表單的分隔清單: expressionexpressionToexpressionIscomparisonoperator運算式

To關鍵字會指定值的範圍。 如果您使用關鍵字 To,較小值必須出現在 To之前。

使用關鍵字 Is比較運算子(除了 IsLike 之外) 來指定值的範圍。 如果未提供,關鍵字 Is會自動插入。
statements-n 選用。 如果 testexpression 符合 expressionlist n 的任何部分,一或多個陳述式就會執行。
elsestatements 選用。 如果 testexpression 符合任何 Case 子句,一或多個陳述式就會執行。

註解

如果testexpression符合任何Case運算式清單表達式,則該Case子句後面的語句會執行到下一個Case子句,或是針對最後一個子句,最多執行到 End Select。 然後控制項傳到 End Select 後面的陳述式。 如果 testexpression 與多個 Case 子句中的 expressionlist運算式相符,只有第一個相符項目後面的陳述式會執行。

Case Else 子句用來表示,在任何其他 Case選取項目中的 testexpressionexpressionlist 之間找不到相符值時,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 完全相等的字串、落在 nutssoup 之間依字母順序的字串和 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 支援與意見反應