Многочисленное условие
Оператор Select Case - это примерно то же самое, что и условие If ... End If, но с некоторыми отличиями. Если условие Если То Иначе выполняет всего две инструкции, то оператор Select Case может выполнять несколько инструкций.
Записывается он следующим образом:
Select Case A
Case B
.XXX.
Case C
.YYY.
Case Else
.ZZZ.
End Select
Select - это открытие нашего оператора;
Case A - задаём переменную, для которой будут выполняться различные инструкции (в этом примере переменной является буква А);
Case B - если переменная А совпала с В, то будет выполняться условие .XXX.;
Case C - описываем случай C при котором будет выполняться условие .YYY.;
Case Else - это тот случай, когда ни под одно из описанных условий (В, С) переменная А не попала. При этом выполняется инструкция .ZZZ.;
End Select - закрываем наш оператор;
Случаев Case может быть столько, сколько Вы захотите. Например, так:
Select Case A
Case B
.XXX.
Case C
.YYY.
Case D
.ZZZ.
Case E
.VVV.
Case Else
.HHH.
End Select
При всём этом B и C может так же принимать сразу несколько значений, например:
Sub Primer()
Dim x As Integer
x = Int(Rnd * 100)
MsgBox "Значение Х = " & x & "."
Select Case x
Case Is <= 10
MsgBox "т.е. X <= 10"
Case 11 To 40
MsgBox "т.е. X <= 40 и > 10"
Case 41 To 70
MsgBox "т.е. X <= 70 и > 40"
Case 71 To 100
MsgBox "т.е. X <= 100 и > 70"
Case Else
MsgBox "X не попадает в диапазон"
End Select
End Sub
Данный макрос присваивает Х целое значение. И, если это значение попадает в один из указанных диапазонов, нам выпадает сообщение, в какой диапазон оно попадает. Если же Х не попадает ни в один диапазон, то нам появляется сообщение о том, что Х не попадает в диапазон.
Или, например такой пример:
Sub Primer()
Dim A As Variant
A = InputBox("Ведите число от 1 до 10", "Ввод данных")
Select Case A
Case 2, 4, 6, 8, 10
MsgBox "Число чётное", vbInformation, "Проверка на чётность"
Case 1, 3, 5, 7, 9
MsgBox "Число нечётное", vbInformation, "Проверка на нечётность"
Case Else
MsgBox "Введены неправильные данные!", vbCritical, "Ошибка ввода"
End Select
End Sub
При этом в одном случае Case указано сразу несколько данных через запятую, которые может принять переменная А
То как работают примеры, указанные в этом занятии можно посмотреть на видеоролике в начале страницы.
< < Предыдущая глава | Следующая глава > > |