Принятие решений позволяет программистам контролировать поток выполнения сценария или одного из его разделов. Исполнение управляется одним или несколькими условными операторами.
Содержание:
Ниже приведен общий вид типичной структуры принятия решений, найденной на большинстве языков программирования.

VBA предоставляет следующие типы решений. Нажмите следующие ссылки, чтобы проверить их данные.
If...Then - Если То
Оператор If состоит из логического выражения, за которым следуют одно или несколько операторов. Если условие называется Истинным, выполняются утверждения в условии If (s). Если условие называется False, выполняются инструкции после цикла If.
Синтаксис
Ниже приведен синтаксис оператора If в VBScript.
If(boolean_expression) Then Statement 1 ..... ..... Statement n End If
Диаграмма потока

пример
Для демонстрационной цели давайте найдем самую большую из двух чисел Excel с помощью функции.
Private Sub if_demo_Click()
Dim x As Integer
Dim y As Integer
x = 234
y = 32
If x > y Then
MsgBox "X is Greater than Y"
End If
End Sub
Когда приведенный выше код выполняется, он производит следующий результат.
X is Greater than Y
Если заявление состоит из логического выражения следует один или более операторов.
if..else заявление
Оператор If состоит из логического выражения, за которым следуют одно или несколько операторов. Если условие называется Истинным, выполняются утверждения в условии If (s). Если условие называется False, выполняются утверждения в разделе Else Part.
Синтаксис
Ниже приведен синтаксис оператора If Else в VBScript.
If(boolean_expression) Then Statement 1 ..... ..... Statement n Else Statement 1 ..... .... Statement n End If
Диаграмма потока

пример
Для демонстрационной цели давайте найдем самую большую из двух чисел Excel с помощью функции.
Private Sub if_demo_Click()
Dim x As Integer
Dim y As Integer
x = 234
y = 324
If x > y Then
MsgBox "X is Greater than Y"
Else
Msgbox "Y is Greater than X"
End If
End Sub
Когда приведенный выше код выполняется, он производит следующий результат.
Y is Greater than X
Если иное утверждение состоит из логического выражения следует один или более операторов. Если условие равно True, выполняются инструкции в операторах If . Если условие ложно, выполняется Else часть скрипта.
if ... elseif..else statement
Оператор If, за которым следует один или несколько инструкций ElseIf, которые состоят из булевых выражений, а затем следуют инструкции else по умолчанию, которая выполняется, когда все условие становится ложным.
Синтаксис
Ниже приведен синтаксис оператора If Elseif-Else в VBScript.
If(boolean_expression) Then Statement 1 ..... ..... Statement n ElseIf (boolean_expression) Then Statement 1 ..... .... Statement n ElseIf (boolean_expression) Then Statement 1 ..... .... Statement n Else Statement 1 ..... .... Statement n End If
Диаграмма потока

пример
Для демонстрационной цели давайте найдем самую большую из двух чисел Excel с помощью функции.
Private Sub if_demo_Click()
Dim x As Integer
Dim y As Integer
x = 234
y = 234
If x > y Then
MsgBox "X is Greater than Y"
ElseIf y > x Then
Msgbox "Y is Greater than X"
Else
Msgbox "X and Y are EQUAL"
End If
End Sub
Когда приведенный выше код выполняется, он производит следующий результат.
X and Y are EQUAL
Если заявление следует один или более ELSEIF заявления, который состоит из логических выражений , а затем с последующим необязательным еще заявлением , которое выполняется , когда все условия становятся ложными.
вложенные операторы if
Оператор If или ElseIf внутри другого оператора If или ElseIf. Внутренние операторы If выполняются на основе внешних операторов If. Это позволяет VBScript легко справляться с сложными условиями.
Синтаксис
Ниже приведен синтаксис инструкции Nested If в VBScript.
If(boolean_expression) Then
Statement 1
.....
.....
Statement n
If(boolean_expression) Then
Statement 1
.....
.....
Statement n
ElseIf (boolean_expression) Then
Statement 1
.....
....
Statement n
Else
Statement 1
.....
....
Statement n
End If
Else
Statement 1
Statement n
End If
пример
Для демонстрационной цели найдем тип положительного числа с помощью функции.
Private Sub nested_if_demo_Click()
Dim a As Integer
a = 23
If a > 0 Then
MsgBox "The Number is a POSITIVE Number"
If a = 1 Then
MsgBox "The Number is Neither Prime NOR Composite"
ElseIf a = 2 Then
MsgBox "The Number is the Only Even Prime Number"
ElseIf a = 3 Then
MsgBox "The Number is the Least Odd Prime Number"
Else
MsgBox "The Number is NOT 0,1,2 or 3"
End If
ElseIf a < 0 Then
MsgBox "The Number is a NEGATIVE Number"
Else
MsgBox "The Number is ZERO"
End If
End Sub
Когда приведенный выше код выполняется, он производит следующий результат.
The Number is a POSITIVE Number
The Number is NOT 0,1,2 or 3
Если или ElseIf заявление внутри другого, если или ELSEIF заявление.
инструкция switch
Когда пользователь хочет выполнить группу операторов в зависимости от значения выражения, используется случай переключения. Каждое значение называется случаем, и переменная включается в зависимости от каждого случая. Оператор Case Else выполняется, если тестовое выражение не соответствует ни одному из случаев, указанным пользователем.
Case Else - необязательный оператор в Select Case, однако для хорошей практики программирования всегда есть оператор Case Else.
Синтаксис
Ниже приведен синтаксис оператора Switch в VBScript.
Select Case expression
Case expressionlist1
statement1
statement2
....
....
statement1n
Case expressionlist2
statement1
statement2
....
....
Case expressionlistn
statement1
statement2
....
....
Case Else
elsestatement1
elsestatement2
....
....
End Select
пример
Для демонстрационной цели найдем тип целого с помощью функции.
Private Sub switch_demo_Click()
Dim MyVar As Integer
MyVar = 1
Select Case MyVar
Case 1
MsgBox "The Number is the Least Composite Number"
Case 2
MsgBox "The Number is the only Even Prime Number"
Case 3
MsgBox "The Number is the Least Odd Prime Number"
Case Else
MsgBox "Unknown Number"
End Select
End Sub
Когда приведенный выше код выполняется, он производит следующий результат.
The Number is the Least Composite Number
Переключатель заявление позволяет переменной быть проверены на равенство в отношении списка значений.
С уважением, авторы сайта Компьютерапия