Similar presentations:
Реализация разветвляющихся алгоритмов в 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
В общем виде синтаксис инструкции SelectCase имеет следующий вид:
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 temperatureCase Is > 100
MsgBox "Очень горячо"
Case 75 To 100
MsgBox "Нормально"
Case 50 To 74
MsgBox "Самый раз"
Case Is > 32
MsgBox "Маловато"
Case Else
MsgBox "Надо подогреть"
End Select
17. Безусловное ветвление
Общий синтаксис этой инструкцииGoTo <метка>
Метка предназначена для идентификации
строки, на которую будет выполнен
переход.
Метка имеет следующий синтаксис
<метка>:
Таким образом, метка – это некоторое имя,
после которого ставится двоеточие. В строке
ей могут предшествовать только пробелы.