Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пособие_по_VBA.doc
Скачиваний:
1
Добавлен:
15.11.2018
Размер:
243.2 Кб
Скачать

If условие Then оператор

В этой конструкции условие представляет собой логическое выражение. При истинности условия выполняются оператор, находящийся после ключевого слова Then, при ложности оператор не выполняется.

Частным случаем рассмотренной конструкции If…Then является оператор условного перехода, включающий в себя оператор перехода GoTo. Синтаксис:

If условие Then GoTo метка

Согласно этому оператору, при истинности условия происходит переход на метку и выполняется помеченный оператор.

Если при истинности условия требуется выполнить несколько операторов, то следует использовать конструкцию вида

If условие Then

операторы

End If

Этот условный оператор работает следующим образом. Если условие истинно, то выполняется блок операторов, находящийся после ключевого слова Then. Если же условие ложно, то блок операторов не выполняется. Далее выполняется оператор, следующий за служебным словосочетанием End If, вне зависимости от того, выполнен блок операторов или нет.

Рассмотрим следующую конструкцию If…Then:

If условие Then

операторы1

Else

операторы2

End If

Эта конструкция условного оператора работает следующим образом. Если условие истинно, то выполняется блок операторы1, если условие ложно, то выполняется блок операторов операторы2. После выполнения блока операторы1 или операторы2 выполняется оператор, следующий за служебным словосочетанием End If.

Последнюю конструкцию If…Then можно записать в виде:

If условие Then

операторы1

Else : оператор

операторы3

End If

В этой конструкции оператор, стоящий после двоеточия, представляет собой первый оператор блока операторы2, а блок операторы3 – оставшиеся операторы блока операторы2.

В том случае, когда блок операторов нужно выполнять после проверки не одного, а нескольких условий, следует использовать такую конструкцию If…Then:

If условие1 Then

операторы1

ElseIf условие2 Then

операторы2

ElseIf условие3 Then

операторы3

…………………….

[Else

операторыN]

End If

Если условие1 истинно, то выполняется блок операторы1. Если оно ложно, то проверяется условие2, находящееся после ключевого слова ElseIf . При истинности условия2 выполняется блок операторы2, и т.д. Если ни одно из условий не является истинным, то выполняется блок операторыN, расположенный после ключевого слова Else.

Мы рассмотрели конструкции условного оператора. В дополнение к ним рассмотрим функцию

IIf (условие, выражение1, выражение2)

В ней условие представляет собой логическое выражение, а выражени1 и выражение2 – арифметические или логические выражения или строки, которые можно рассматривать как выражения.

Функция IIf возвращает в программу значение выражения1 или выражения2 в зависимости от того, какое значение принимает логическое выражение Условие, True или False.

Например,

Sub pr ()

Dim intA As Integer

Dim strA As String

intA = 6

strA = IIf (intA Mod 2 = 0, “Четное”, “Нечетное”)

End Sub

Вторая конструкция принятия решенийSelect Case. Эта конструкция, называемая оператором выбора, выглядит так:

Select Case выражение

Case значение1

Операторы1

Case значение2

Операторы2

………………………….

[Case Else

операторыN]

End Select

В ней Выражение – арифметическое или логическое выражение или строка. Работает оператор выбора следующим образом. Если Выражение принимает значение1, то выполняется блок операторов операторы1. Если Выражение принимает значение2, то выполняется блок операторы2, и т.д. Если Выражение не равно ни одному из приведенных значений, то выполняется блок операторыN, находящийся после служебного словосочетания Case Else.

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

Пример.

Sub Выбор ()

Dim x As Integer

x = 1

Select Case 2*x + 1

Case 1

x = x + 1

Case 2, 3, 4

x = 10

Case Else

x = 20

End Select

End Sub

Пункт 4. Циклы.

Для многократного выполнения блока операторов используются три оператора цикла – For…Next, While…Wend, Do…Loop.

Цикл For…Next используется в том случае, когда количество выполнений заданного блока операторов известно заранее. Данная конструкция имеет следующий синтаксис:

For счетчик = начало To конец [Step шаг]

Операторы

Next [счетчик]

Шаг может быть как положительным так и отрицательным числом. По умолчанию шаг равен 1.

В качестве параметров цикла начало, конец и шаг можно использовать не только числа, но и арифметические выражения. Важно, чтобы к моменту выполнения цикла все переменные в этих арифметических выражениях имели числовые значения.

Зачастую требуется досрочно выйти из цикла. В этом случае цикл For…Next записывается в виде:

For счетчик = начало To конец [Step шаг]

Операторы1