Операторы условий в VBA

Наиболее важными операторами условий, используемыми в Excel VBA, являются операторы Если… Тогда и Выберите Случай. Оба эти выражения проверяют одно или несколько условий и в зависимости от результата выполняют разные действия. Далее мы поговорим об этих двух условных операторах более подробно.

Оператор «If…Then» в Visual Basic

оператор Если… Тогда проверяет условие и, если оно истинно (ИСТИНА), то выполняется указанный набор действий. Он также может определить набор действий, которые необходимо выполнить, если условие ЛОЖЬ.

Синтаксис оператора Если… Тогда как это:

If Условие1 Then

   Действия в случае, если выполняется Условие1

ElseIf Условие2 Then

   Действия в случае, если выполняется Условие2

Else

   Действия в случае, если не выполнено ни одно из Условий

End If

В этом выражении элементы ИначеЕсли и еще Оператор условий можно опустить, если они не нужны.

Ниже приведен пример, в котором с помощью оператора Если… Тогда Цвет заливки активной ячейки меняется в зависимости от значения в ней:

If ActiveCell.Value < 5 Тогда ActiveCell.Interior.Color = 65280 'Ячейка окрашивается в зелёный цвет ElseIf ActiveCell.Value < 10 Тогда ActiveCell.Interior.Color = 49407 'Ячейка окрашивается в оранжевый цвет Else ActiveCell.Interior.Color = 255 'Ячейка окрашивается в красный цвет End If

Обратите внимание: как только условие становится истинным, выполнение условного оператора прерывается. Следовательно, если значение переменной Активселл меньше 5, то первое условие становится истинным и ячейка окрашивается в зеленый цвет. После этого выполнение оператора Если… Тогда прерывается, а остальные условия не проверяются.

Узнайте больше об использовании условного оператора в VBA. Если… Тогда можно найти в сети Microsoft Developer Network.

Оператор «Выбрать регистр» в Visual Basic

оператор Выберите Случай похоже на оператора Если… Тогда тем, что он также проверяет истинность условия и в зависимости от результата выбирает один из вариантов.

Синтаксис оператора Выберите Случай как это:

Select Case Выражение

Case Значение1

   Действия в случае, если результат Выражения соответствует Значению1

Case Значение2

   Действия в случае, если результат Выражения соответствует Значению2

...

Case Else

   Действия в случае, если результат Выражения не соответствует ни одному из перечисленных вариантов Значения

End Select

Элемент Case Else не требуется, но рекомендуется для обработки неожиданных значений.

В следующем примере с помощью конструкции Выберите Случай меняет цвет заливки текущей ячейки в зависимости от значения в ней:

Выберите Case ActiveCell.Value Case Is <= 5 ActiveCell.Interior.Color = 65280 'Ячейка окрашивается в зеленый цвет Case 6, 7, 8, 9 ActiveCell.Interior.Color = 49407 'Ячейка окрашивается в оранжевый цвет Case 10 ActiveCell.Interior. Color = 65535 'Ячейка окрашивается в жёлтый цвет Case 11 To 20 ActiveCell.Interior.Color = 10498160 'Ячейка окрашивается в лиловый цвет Case Else ActiveCell.Interior.Color = 255 'Ячейка окрашивается в красный цвет End Select

В приведенном выше примере показано, как можно установить значение элемента различными способами. Кейсы в разработке Выберите Случай. Это способы:

Дело есть <= 5Таким образом, используя ключевое слово Дело есть вы можете проверить, удовлетворяет ли значение Expressions состояние формы <= 5.
Кейсы 6, 7, 8, 9Таким образом вы можете проверить, соответствует ли значение Expressions с одним из перечисленных значений. Перечисленные значения разделяются запятыми.
Кейсы 10Это проверяет, соответствует ли значение Expressions с заданным значением.
Кейсы 11 Вот именно 20Таким образом, вы можете написать выражение, чтобы проверить, удовлетворяет ли значение Expressions состояние формы от 11 в 20 (эквивалентно неравенству «11<=значение<=20»).
Case ElseВот так, используя ключевое слово еще, действия указаны для случая, если значение Expressions не соответствует ни одному из перечисленных вариантов Кейсы.

Как только одно из условий найдено, выполняются соответствующие действия и структура завершается. Выберите Случай. То есть в любом случае будет выполнена только одна из перечисленных ветвей. Кейсы.

Дополнительная информация о работе оператора VBA Выберите Случай можно найти в сети Microsoft Developer Network.

Оставьте комментарий