Рассмотрим пример использования инструкции If-Then-Else:
If intAction = 1 Then
' Выполнение сложения
res = a + b
ElseIf intAction = 2 Then
' Выполнение вычитания
res = a – b
ElseIf intAction = 3 Then
' Выполнение умножения
res = a * b
Else
' Заданное действие не поддерживается
'…
End If
В приведенном примере с помощью инструкции If-Then-Else выбирается одно из трех поддерживаемых действий для переменных а и Ь: сложение, вычитание или умножение. Действие, которое необходимо выполнять, определяется по содержимому переменной intAction. Если она имеет значение, отличное от 1, 2 и 3, то выполняются инструкции, следующие непосредственно после ключевого слова Else.
Язык программирования VBA также поддерживает упрощенный вариант инструкции If-Then-Else:
If Выражение Then [Инструкции1] [Else Инструкции2]
Здесь Выражение – это логическое выражение, при истинном значении которого выполняются инструкции после ключевого слова Then. Если Выражение не истинно, то выполняются инструкции после ключевого слова Else (если это ключевое слово используется). При использовании этой формы инструкции If-Then-Else следует учитывать, что она записывается в одну строку (или в несколько строк, но с использованием символа подчеркивания). Также необходимо учитывать, что Инструкции и Инструкции1 представляют собой либо одну инструкцию VBA, либо несколько инструкций, разделенных двоеточием.
Если ключевое слово Else используется, то элемент Инструкции1 может отсутствовать.
Ниже приведены несколько примеров использования сокращенного варианта инструкции If-Then-Else:
If a = 1 Then a = 2 Else a = 1
If a = 1 Then a = 2 Else a = 1: b = b + 1
If a = 1 And b = 0 Then Else a = 1: b = b + 1
Select Case позволяет, подобно инструкции If-Then-Else, делать выбор выполняемых программой действий в зависимости от значения заданного аргумента. При большом количестве альтернатив данная инструкция работает быстрее инструкции If-Then-Else, так как значение проверяемого выражения вычисляется только один раз. Формат инструкции Select Case приведен ниже:
Select Case Проверяемое_выражение
[Case Список_выражений
[Инструкции]]…
[Case Else
[Инструкции]]
End Select
Здесь Проверяемое_выражение – это любое численное или строковое выражение. Список_выражений содержит неограниченное количество выражений, диапазонов значений и условий. Для более детального пояснения ниже приведен формат элемента Список_выражений:
Выражение | Мин_значение To Макс_значение | Is Оператор Выражение _
[, Выражение | Мин_значение To Макс_значение | Is Оператор Выражение]…
Значения элементов приведенной конструкции следующие.
Выражение – это любое численное или строковое выражение (тип элемента Выражение должен соответствовать типу элемента Проверяемое_выражение).
Мин_значение То Макс_значение – используется для задания диапазона значений. Элементы Мин_значение и Макс_значение задают минимальное и максимальное