Реализация разветвляющихся алгоритмов в VBA
Выбор с помощью оператора If…Then
Выбор с помощью оператора If…Then
Выбор с помощью оператора If…Then…Else
Осуществление сложного выбора
В VBA предусмотрена также упрощенная версия инструкции If…Then…Else, которая имеет следующий синтаксис:
Применение инструкции Select Case
Пример применения
Безусловное ветвление
160.50K
Категория: ПрограммированиеПрограммирование

Реализация разветвляющихся алгоритмов в VBA

1. Реализация разветвляющихся алгоритмов в VBA

2.

Для организации ветвлений в VBA
введены операторы условного и
безусловного переходов.

3. Выбор с помощью оператора If…Then

1)
Инструкция
If…Then
имеет
две
синтаксические формы.
Первая из них – наиболее простая
записывается так:
If <условие> Then <оператор>

4.

Алгоритм работы:
Вычисляется логическое выражение.
Если результат – истина, т.е. True,
выполняется оператор, записанный
после ключевого слова Then и
выполняется переход к следующей
строке.
Если результат – ложь, т.е. False, то
сразу выполняется переход к
следующей строке.

5.

Замечание
После ключевого слова Then можно
писать несколько операторов, но все
они должны уместиться на одной
строке.

6. Выбор с помощью оператора If…Then

2) Вторая форма инструкции
If…Then называется блоком If.
В ней условие и инструкции
размещаются в отдельных строках:
If <Условие> Then
<операторы>
End If

7.

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

8. Выбор с помощью оператора If…Then…Else

Оператор If…Then…Else имеет две формы
записи.
1) Первая из них – однострочная:
If <условие> Then <оператор1> Else <оператор2>

9.

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

10.

Блоковая инструкция If…Then…Else
снимает ограничение однострочной
записи. Общий синтаксис ее имеет
следующий вид:
If <условие> Then
<операторы ветви Then>
Else
<операторы ветви Else>
End If

11. Осуществление сложного выбора

Сложный выбор имеет место, если в
качестве оператора на ветви Then
или ветви Else оператора If снова
записывается оператор If. При этом
не существует ограничений на
глубину их вложенности. Если
используется конструкция Else, то
она относится к ближайшему If..

12. В VBA предусмотрена также упрощенная версия инструкции If…Then…Else, которая имеет следующий синтаксис:

If <условие 1> Then
<операторы ветви Then>
ElseIf <условие2>
<операторы ветви ElseIF>
[Else
<операторы ветви Else>]
End If

13. Применение инструкции Select Case

В общем виде синтаксис инструкции Select
Case имеет следующий вид:
Select Case <Тест>
Case <значение 1>
<оператор 1>
Case <значение 2>
<оператор 2>
……………
Case <значение N>
<оператор N>
[Case Else
<оператор Else>]
End Select

14.

В операторе <Тест> – это выражение типа:
числовые, строковые, логические. В
отдельных разделах Case могут стоять одно
или несколько выражений, разделенных
запятыми. Возможно также применение
конструкции диапазона
<начальное значение> To <конечное
значение>
В случае, когда производится сравнение
какого-либо вида, используется следующий
общий синтаксис
Case Is <операция сравнения>
<выражение>

15.

Алгоритм работы следующий.
Вычисляется выражение <Тест>.
Вычисленное значение сравнивается
последовательно со значениями в
списке Case.
При совпадении выполняется
соответствующий оператор.
Если нет совпадения, то выполняется
<оператор Else>.
Далее выполняется оператор,
записанный после End Select.

16. Пример применения

Select Case temperature
Case Is > 100
MsgBox "Очень горячо"
Case 75 To 100
MsgBox "Нормально"
Case 50 To 74
MsgBox "Самый раз"
Case Is > 32
MsgBox "Маловато"
Case Else
MsgBox "Надо подогреть"
End Select

17. Безусловное ветвление

Общий синтаксис этой инструкции
GoTo <метка>
Метка предназначена для идентификации
строки, на которую будет выполнен
переход.
Метка имеет следующий синтаксис
<метка>:
Таким образом, метка – это некоторое имя,
после которого ставится двоеточие. В строке
ей могут предшествовать только пробелы.
English     Русский Правила