Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
00 Ячменев Е.Ф. - Лекции по VBA.doc
Скачиваний:
10
Добавлен:
09.11.2019
Размер:
381.44 Кб
Скачать

3.2. Условный оператор

Условный оператор выполняет определенные инструкции в зависимости от значения условия и может быть использован для описания конструкций блок-схем представленных на рис.2.

нет

да

а) Обход

нет

да

б) Ветвление

да

нет

да

в) Множественное

ветвление

нет

Рис.2

Условный оператор имеет две формы синтаксиса: строчную и блочную.

Синтаксис строчной формы:

If <условие> Then <инструкции 1> [Else <инструкции 2>]

Условие представляет собой логическое выражение или набор логических выражений объединенных логическими операциями.

При возвращении условием значения True, выполняются инструкции, следующие за ключевым словом Then, а при возвращении условием значения False, выполняются инструкции, следующие за ключевым словом Else.

Примеры:

If A>B Then P=A : A=B : B=P

If A>B And R=0 Then C=A+B : К=1 Else C=A*B : К=2

If A>B Then C=A+B Else If A<B Then C=A*B Else C=0

Синтаксис блочной формы:

I f <условие_1> Then

[ инструкции_1]

[

Направление проверки условий

ElseIf <условие_2> Then

[ инструкции_2]]

...

[ElseIf <условие_N> Then

[ инструкции_N]]

[Else

[ инструкции_else]]

End If

При возвращении условием_1 значения True, выполняются операторы, расположенные в нижеследующих строках, после чего управление передается в строку, следующую за ключевым словом End If, а при возвращении условием_1 значения False управление передается в строку, содержащую условие_2. Выполнение последующих проверок осуществляется аналогично. Если ни одно из условий не равно True, то выполняются операторы, расположенные в строках после ключевого слова Else, либо, если ключевое слово Else отсутствует, то управление передается в строку, следующую за ключевым словом End If.

Примеры:

' Пример 1 – это комментарий

If A > B Then

P = A

A = B

B = P

End If

' Пример 2

If K = 1 Then

C = A + B

ElseIf K = 2 Then

C = A - B

ElseIf K = 3 Then

C = A * B

Else

C = 0

End If

3.3. Оператор выбора

Оператор выбора, подобно оператору If … Then … Else, используется для выполнения тех или иных инструкций в зависимости от значения условия.

Синтаксис:

Select Case переменная

Case список_значений_1

[инструкции_1]

[Case список_значений_2

[инструкции_2]]

...

[Case список_значений_n

[инструкции_n]]

[Case Else

[инструкции_else]]

End Select

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

Величины для сравнения, входящие в ­список_значений, могут быть заданы в виде:

  • списка значений, перечисленных через запятую;

  • диапазона значений в виде начальное_значение To конечное_значение;

  • выражения сравнения в виде Is оператор_сравнения значение.

В инструкции может быть произвольное число блоков Case. Если ни одно из условий не является истинным, то выполняются инструкции блока Case Else.

Пример:

Select Case K

Case 1

C = A + B

Case 2

C = A - B

Case 3

C = A * B

Case Else

C = 0

End Select