Операторы If...Then и If...Then...ElseСинтаксис оператора If...Then: If <условие> Then <оператор> Управляющий оператор If...Then предназначен для проверки условия (<условие>) и выполнения одного оператора (<оператор>) в случае, если результат проверки условия равен True (Истина). Пример:
Если по результатам проверки необходимо выполнить более одного оператора, то следует воспользоваться следующим синтаксисом: If <условие> Then <оператор1> <оператор2> … End If Пример: Sub primer() Dim p As Double ' Объявление переменной для хранения вещественных чисел p=InputBox ("Введите число") ' Отображение окна для ввода значения в переменную p If p>=0 Then ' Действия в случае неотрицательного значения p p=sqr(p) ' Запись в переменную p корня из значения p Msgbox "Корень из введенного числа = " & p ' Отображение окна-сообщения со значением переменной p End if Msgbox "Конец программы" ' Окно сообщения, отображаемое при любом введенном p End Sub
С помощью управляющего оператора If...Then...Else можно задать две последовательности действий, одна из них будет выполняться, если условие истинно (Then <операторы>…), а другая – если условие ложно (Else <операторы>…). Синтаксис: If <условие> Then <операторы>… Else <операторы>… End If Для проверки нескольких условий можно использовать логические операторы: AND, OR, XOR, NOT, а также их комбинации. Пример: Sub primer() Dim x As Variant ' Объявление переменной для любых значений x = InputBox("Введите положительное число") ' Отображение окна для ввода значения в переменную x If (IsNumeric(x) And x >= 0) Then ' Условие на значение переменной MsgBox "Спасибо, Вы ввели положительное число!" ' Окно-сообщение, отображаемое при выполнении условия Else MsgBox "Вы не ввели то, что требовалось." ' Окно-сообщение, отображаемое при невыполнении условия End If End Sub
В составе операторов внутри конструкции If... можно применять вложенные конструкции If...., н.п.: Sub primer() Dim x As Variant ' Объявление переменной для любых значений x = InputBox("Введите что-нибудь") ' Отображение окна для ввода значения в переменную x If (x = "") Then ' Внешний оператор проверки на пустой ввод MsgBox "Вы ничего не ввели." Else If (Not (IsNumeric(x))) Then ' Вложенный оператор проверки MsgBox "Вы ввели текст." Else MsgBox "Вы ввели число." End If ' Закрытие вложенного оператора проверки End If ' Закрытие внешнего оператора проверки End Sub Иногда вместо вложенных If… удобнее использовать оператор Elself. При этом каждая следующая проверка происходит только в том случае, если результат предыдущей равен False (Ложь). Синтаксис: If <условие> Then <операторы>… ElseIf <условие> Then <операторы>... Else <операторы>… End If Пример: Sub primer() Dim p As Double ' Объявление переменной для хранения вещественных чисел p=InputBox("Введите число") ' Отображение окна для ввода значения в переменную p If p<3 then ' Проверка первого условия на значение p Msgbox "p<3" ' Действие при выполнении первого условия ElseIf p>6 then ' Проверка второго условия на значение p ' (при невыполнении первого) Msgbox "p>6" ' Действие при выполнении второго условия Else ' Действия при невыполнении ни первого ни второго условий MsgBox "3<=p<=6" End If End Sub
|