Основные инструкции VBA инструкции проверки условий
Основные инструкции VBA инструкции проверки условий и организации циклов.
• Инструкции проверки условий и организации циклов. Все они позволяют управлять последовательностью исполнения инструкций в программе
Инструкция IF • Инструкция IF (ЕСЛИ) используется в двух видах: в виде простой и блочной структур. Инструкция простой структуры имеет следующую форму записи: • If <Выражение> Then <Инструкция, исполняемая, если выражение-условие истинно>.
Конструкция блочной структуры для IF • If <Выражение 1> Then • <Блок 1 – исполняется, если выражение 1 истинно> • Else. If <Выражение 2> Then • <Блок 2 – исполняется, если выражение 2 истинно > • Else. If <Выражение 3> Then • <Блок 3 – исполняется, если выражение 3 истинно > • …………………. . • Else • <Блок инструкций, исполняемых, если ложны выражения в инструкциях If и Else. If> • End If
• Приведем пример простой инструкции If: • If R Then Msg. Box “Точка попала в прямоугольник”.
Пример простой структуры IF x = -3. 15 * b + 2. 4 If b ^ 2 > (x + 3. 8) ^ 2 Then R = Sin(b - 3 * x) ^2 If b ^ 2 = (x + 3. 8) ^ 2 Then R = Exp(1. 7) + Abs(b - x) If b ^ 2 < (x + 3. 8) ^ 2 Then R = Sqr(Abs(x - Sin(b) ^ 2))
Пример блочной структуры IF b = 3. 7 a = 4. 6 * Exp(-Sqr(b)) If a*b >sin(a) Then y = 0. 65 * Cos(a)^3 - Atn(b^2) Else. If a*b = sin(a) Then y = 3 * a * b + Tan(b) Else y = Log(Abs(a^2 – b^2)) End If
Инструкция Go. To • Вид: GOTO метка. • Метка обозначается числом ипи сочетанием букв или букв и цифр. Например, можно написать 10, N 10 или Msg. R
• В ситуациях, когда требуется запрограммировать три и более разветвлений в зависимости от значения одной переменной, удобно использовать структуру Select Case:
Вид структуры Select Case <Переменная> Case <Значение 1> либо Case is <Условие 1> <Блок 1 – выполняется, если значение переменной равно значению 1 или соответствует условию 1> Case <Значение 2> либо Case is <Условие 2> <Блок 2 – выполняется, если значение переменной равно значению 2 или соответствует условию 2> …………………. End Select
Пример Возраст = Text. Box 1. Value Select Case Возраст Case Is < 13 Label 1. Caption = "После 22 -00 спать !" Case 16 Label 1. Caption = "Пора получать паспорт" Case Is < 18 Label 1. Caption = "Только чай !" Case Is >= 18 Label 1. Caption = "Можно почти все!" End Select
Инструкция цикл Проще всего цикл записывается, если известны начальное, конечное значения переменной цикла и шаг ее изменения. В таких случаях используют инструкцию For…Next , имеющую следующий синтаксис: For счетчик = начало To конец [Step шаг] [инструкции] [Exit For] [инструкции] Next [счетчик]
Инструкции For…Next в общем случае содержит следующие элементы: Счетчик (переменная цикла) – числовая переменная, используемая в качестве счетчика цикла. Эта переменная не может иметь тип Boolean или быть элементом массива. Начало – начальное значение переменной цикла. Конец – конечное значение переменной цикла
• Шаг – необязательный аргумент. Значение, на которое изменяется счетчик при каждом выполнении тела цикла. Если это значение не задано, по умолчанию шаг равен 1. Шаг может быть как положительным, так и отрицательным • Инструкции – одна или несколько инструкций между For и Next, которые выполняются указанное число раз.
• После выполнения всех инструкций цикла значение шаг добавляется к текущему значению переменной счетчик. После этого инструкции цикла либо выполняются в очередной раз, либо цикл завершается и выполнение продолжается с инструкции, следующей за инструкцией Next. • В большинстве случаев циклы этого типа выглядят проще, т. к. обычно не требуется задавать шаг изменения переменной цикла (Step) и не нужно выходить из цикла по дополнительному условию (Exit For).
• В тех случаях, когда нет возможности указать начальное и конечное значения переменной цикла, используют циклы типа Do-Loop. • Для таких циклов возможны 4 варианта записи:
1 тип: условие True в начале цикла Вид: Do While <условие> <инструкции, исполняемые в цикле> Loop
2 -ой тип: условие False в начале цикла Вид: Do Until <условие> <инструкции, исполняемые в цикле> Loop
3) условие True в конце цикла Вид: Do <инструкции, исполняемые в цикле> Loop While <условие>
4) условие False в конце цикла Вид: Do <инструкции, исполняемые в цикле> Loop Until <условие>
• В число инструкций, исполняемых в цикле, может быть включена инструкция Exit Do, если из цикла надо выйти «досрочно» , например, при выполнении какого-нибудь дополнительного условия. Заметим, что Do While означает Выполнять пока… Do Until означает Выполнять пока не … Другими словами, вместо Do Until можно написать Do While Not. В некоторых случаях эти проверки удобнее ставить в конец цикла (Loop – цикл, дословно – «петля» ).
Пример инструкции For. . Next For x = -2 To 8 Step 1. 2 a = Log(Abs(x)) + 2 b = Abs(x - 7) ^ (1 / 5) If x > 2 Then y = -x ^ 2 + a * b * Sin(x) If x <= -3 Then y = Tan(x + a) If x > -3 And x <= 2 Then y = Sin(a * x) + a ^ 2 + b ^3 List. Box 1. Add. Item (x) List. Box 2. Add. Item (Format(y, "0. 000")) Next x
Основные инструкции VBA.ppt
- Количество слайдов: 22