Офисное программирование

ОглавлениеДобавить в закладки К обложке

операторы – один или несколько операторов VBA, которые должны находиться в одной и той же строке.

Блок операторов If … Then … Else легче читать и понимать, и поскольку можно располагать операторы в разных строках внутри блока оператора If … Then … Else, он не имеет ограничения по размеру и числу операторов, которые можно помещать в альтернативные ветви.

Синтаксис:

If условие Then

Оператор1

Else

Оператор2

End If

VBA, как и многие языки программирования, имеет условный оператор перехода для использования в случаях, когда необходимо выбирать из большего количества различных ветвей кода: оператор Select Case. Данный оператор работает во многом так же, как и оператор If. Ключевые слова Select Case используются со многими операторами Case, где каждый оператор Case проверяет появление другого условия и выполняется только одна из ветвей Case. Ветвь Case может содержать один, несколько или ни одного оператора VBA.

Синтаксис:

Select Case выражение

Case условие_1

Оператор_1

Case условие_2

Оператор_2

…..

Case условие_N

Оператор_N

[Case Else

Оператор_N+1

End Select,

где выражение – любое численное или строковое выражение;

условие_1, условие_2, условие_N – (каждый) представляет список логических выражений, отделенных запятыми;

оператор_1, оператор_2, оператор_N, оператор_N+1 – (каждый) представляет один, несколько или ни одного оператора.

В Select Case можно включать столько операторов Case условия, сколько необходимо.

Примечание. Написание неоднострочных операторов в программах производится именно так (в столбец), либо редактор будет выдавать ошибку написания.

Оператор безусловного перехода всегда изменяет порядок выполнения операторов в процедуре или функции vba. При этом vba не проверяет никаких условий, а просто переходит к выполнению кода с другого места.

Оператор GoTo имеет следующий синтаксис:

GoTo метка

Метка – любое обозначение или номер строки в той же процедуре или функции, которая содержит оператор GoTo. При выполнении оператора GoTo VBA немедленно переходит к выполнению оператора в строке, определенной с помощью метки.

Пример 3. Создать программу, которая, используя инструкцию if … then, выполняет следующие действия: если переменной а присваивается значение больше нуля, то находится сумма чисел а и b, если меньше нуля, то находится произведение. Результат выводится в стандартное диалоговое окно msgbox.

Технология выполнения

1. В документе Операции (пример 2) выделите правой кнопкой мыши папку Modules и выполните команду: Insert + Module (рис. 6).

2. В появившемся модуле пропишите программу и запустите на выполнение.

Dim a, b, c As Integer

Sub poradok()

a = -5

b = 25

If a > 0 Then

c = a + b

MsgBox (c)

End If

If a < 0 Then

с = a * b

MsgBox (с)

End If

End Sub

В данной программе переменной а присвоено значение меньше нуля, следовательно, должна выполниться нижняя инструкция If (рис. 9).

Рис. 9. Результат работы при а < 0

3. Измените программу, поменяв значение а на положительное:

Dim a, b, c As Integer

Sub poradok()

a = 5

b = 25

If a > 0 Then

c = a + b

MsgBox (c)

End If

If a < 0 Then

c = a * b

MsgBox (c)

End If

End Sub

Примечание. Данную программу можно составить, используя полный блок инструкции If Then Else (рис. 10).

Рис. 10. Результат работы при а > 0

Dim a, b, c As Integer

Sub poradok()

a = 5

b = 25

If a > 0 Then

c = a + b

MsgBox (c)

Else

c = a * b


Логин
Пароль
Запомнить меня