Оператор выбора
Select Case
Оператор выбора используется для реализации нескольких альтернативных вариантов действий, каждый из которых соответствует своим значениям параметра.
Например
|
Объем продаж, руб |
Комиссионные, % |
Комиссионные, руб |
|
Ob |
KPR |
KRUB |
|
0000-9 999 |
8 |
|
|
10 000-39 999 |
10 |
|
|
40 000 и > |
14 |
|
|
..... |
|
|
Select Case, как правило, применяется при выборе 3-х и более вариантов (хотя можно и двух).
Когда существует множественный выбор, то одна и та же величина (например, Ob) участвует во многих сравнениях. Каждый раз проверяется результат одного выражения, имеющего много различных значений. Выбирается только одно значение с помощью Select Case.
Внимание! Условия проверяются последовательно до первого истинного. Если истинно сразу несколько условий, то выполняются только инструкции, относящиеся к первому из них, а остальные условия даже не проверяются.
|
Синтаксис |
Комментарии |
|
Select Case <проверяемое выражение>
C <инструкции> ..................... <инструкции>
C <инструкции> ..................... <инструкции>
C <инструкции> End Select |
(условие выбора 1)
(условие выбора 2)
(условие выбора выполняется, если не выполнилось ни одно из предыдущих условий)
Case 5 значение Case 7,10,15 список значений Case 20 to 40 диапазон значений Case 5,7,10,15,20 to 40 |
|
Пример |
||
|
|
|
Select Case x Case Is < 0 y = a^2 + x Case 0 y = x + 5 Case Is > 0 y = x - 5 End Select |
|
Пример |
||
|
|
если x <0 |
Select Case x Case Is < 0 y = a^2 + x Case 2,4, 7 to 9, 11 to 15, 20,25 y = x + 5 Case Else y = x - 5 End Select |
|
если x = 2,4, 7 to 9, 11 to 15, 20,25 |
||
|
в остальных случаях |
||

Пример
Выдать на экран сообщения о том, какие необходимо выполнять действия в зависимости от времени суток.
Sub мое_расписание()
Dim Время As Date, расписание As String
Время = InputBox("Введите время")
Select Case Время
Case 7
расписание = "Подъем"
Case 7.5 To 8
расписание = "Завтрак"
Case Else
расписание = "Отдых"
End Select
MsgBox (расписание)
End Sub
|
Пример |
|
|
Решить квадратное уравнение ах2 + bx + c = 0 Корни квадратного уравнения определяются по формулам:
Уравнение
будет иметь действительные корни при
условии
Option Explicit Sub prog4()
‘Объявление данных Dim a as single, b as single, d as single Dim c as single, x1 as single, x2 as single,
‘Ввод исходных данных a = InputBox (“a = “) b = InputBox (“b = “) c = InputBox (“c = “)
‘Расчет дискриминанта d = b ^ 2 – 4 * a * c
‘Проверка условий If d <= 0 then MsgBox (“Действиетльных корней нет”) Else x1 = (-b + d^0.5) / (2 * a) x2 = (-b - d^0.5) / (2 * a) Sheets(“Лист1”).Cells(1,1) = x1 Sheets(“Лист1”).Cells(1,2) = x2 End IF
End Sub
|
|

ase
<значение, список значений, диапазон
значений>
ase
<значение, список значений, диапазон
значений>
ase
Else


