Оператор Select Case

Выполняет несколько групп операторов в зависимости от значения выражения.

Синтаксис

Выборвыражения для тестирования варианта
[ Caseexpressionlist-n [ statements-n ]]
[ Case Else [ elsestatements ]]
End Select

Синтаксис оператора Select Case состоит из следующих частей:

Part Описание
выражение testexpression Обязательно. Любое числовое выражение или строковое выражение.
expressionlist-n Обязательный параметр, если используется оператор Case.

Разделенный список одной или нескольких из следующих форм: expression, expressionToexpression, Iscomparisonoperatorexpression.

Ключевое словоTo задает диапазон значений. Если вы используете ключевое слово To, то наименьшее значение должно быть указано до To.

Используйте ключевое слово Is с операторами сравнения (кроме Is и Like) для указания диапазона значений. Если этот параметр не указан, автоматически вставляется ключевое слово Is.
statements-n Необязательный параметр. Одна или несколько инструкций, выполняемых, если выражение testexpression соответствует любой части expressionlist-n.
elsestatements Необязательный параметр. Один или несколько операторов, которые выполняются, если testexpression не соответствует какому-либо из выражений Case.

Замечания

Если выражение testexpression соответствует любому выражениюсписка выраженийcase, операторы, следующие за этим предложением Case, выполняются до следующего предложения Case или до последнего предложения до end select. Затем контроль передается оператору после End Select. Если testexpression совпадает с выражением expressionlist в нескольких предложениях Case, выполняются только операторы после первого совпадения.

Предложение Case Else используется для указания того, что выражения elsestatements выполняются, если не обнаружено совпадение между testexpression и expressionlist в других предложениях Case. Хотя это необязательно, рекомендуется использовать оператор Case Else в блоке Select Case для обработки непредвиденных значений testexpression. Если список выраженийcase не соответствует testexpression и оператор Case Else отсутствует, выполнение продолжается в инструкции End Select.

Используйте несколько выражений или диапазонов в каждом предложении Case . Например, допустима следующая строка.

Case 1 To 4, 7 To 9, 11, 13, Is > MaxNumber 

Примечание.

Оператор сравнения Is — не то же самое, что ключевое слово Is, используемое в операторе Select Case.

Вы также можете указать диапазоны и несколько выражений для строк символов. В следующем примере 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 и обратная связь.