Офисное программирование. Операторы ветвления.
Rambler's Top100

 

Управляющие конструкции VBA

Операторы ветвления.

Очень редко удается организовать программу так, чтобы ее операторы последовательно выполнялись один за другим. Чаще в зависимости от тех или иных условий выполняются разные группы операторов программы, некоторые действия повторяются, некоторые операторы пропускаются без выполнения. Для управления последовательностью операторов программу используются операторы ветвления (говорят - "условные операторы") и операторы повторения (операторы циклов).

Для проверки условий и выбора одной из двух возможных последовательностей выполнения операторов служит оператор If ... Then ... Else ...
Синтаксис оператора:
If условие Then
набор действий 1
Else
набор действий 2
End If


условие - выражение, результат вычисления которого может принимать только одно из двух выражений: True (Истина, Да) или False (Ложь, Нет). Условие вычисляется с помощью операторов отношений и логических операций.
Когда в результате вычисления условия получается Истина, выполняется набор действий 1, в противном случае - набор действий 2.
набор действий 1 и набор действий 2 - любые последовательности операторов VBA, включая операторы If. Таким образом, допускается вложенность операторов If.
Часть оператора:
Else
набор действий 2
является не обязательной. Если она не указывается, то когда условие получает значение Ложь, никаких действий не выполняется, а программа переходит к выполнению операторов, расположенных после End If.
Ключевое слово Then обязательно должно находиться в той же строке, что и ключевое слово If. (Напомним, что строку можно продолжить на следующую с помощью символов переноса "пробел подчеркивание: " _").
Если набор действий 1 состоит из единственного оператора, то он может записываться в той же строке, а End If - не указываться:
If условие Then оператор

Примеры использования оператора ветвления.

D=b^2-4*a*c
If D>0 Then
otvet="два корня"
Else
otvet="один корень или нет корней"
End If

Единственный оператор без части Else
If Balans<0 Then Rezalt="Убыток!"

Использование вложенного If

If ball= 5 Then
ocenka="Отлично"
Else
If ball=4 Then
ocenka="Хорошо"
Else
If ball=3 Then
ocenka="Удовлетворительно"
Else
If ball=2 Then
ocenka="Плохо"
Else
ocenka="Не явился"
End If
End If
End If
End If

В последнем примере одно и тоже выражение - ball- сравнивается с различными значениями - 5,4,3,2. Для подобных управляющих конструкций удобнее применять оператор Select Case, имеющий следующий синтаксис:
Select Case выражение
Case значение1
Действия1
Case значение2
Действия2
...
Case значениеN
ДействияN
Case Else
Действия
End Select

Перепишем пример, в котором использовался вложенный оператор If, используя Select Case:
Select Case ball
Case 5
ocenka="Отлично"
Case 4
ocenka="Хорошо"
Case 3
ocenka="Удовлетворительно"
Case 2
ocenka="Плохо"
Case Else
ocenka="Не явился"
End Select




Написать автору
Помочь автору. Кошельки WM
R205462629094
Z323980174931
Z119438884119
Яндекс - деньги
41001136494110

Rambler's Top100 Рейтинг@Mail.ru Бард Топ