Конструкция Select Case представляет собой хороший инструмент для управления выполнением кода в зависимости от различных вариантов. Она позволяет выбирать действия, основываясь на значении переменной или условиях, делая код более структурированным и понятным. В данной статье мы рассмотрим синтаксис Select Case, а также представим несколько примеров его использования.
Конструкция Select Case применяется для выбора между тремя и более вариантами выполнения кода. Она также может быть использована для двухвариантного выбора и часто служит альтернативой конструкции If Then Else (описано в статье №54). Вот её базовый синтаксис:
Select Case проверяемое_выражение
Case значение_1
' Код для значения_1
Case значение_2
' Код для значения_2
Case Else
' Код по умолчанию
End Select
В процессе выполнения кода, интерпретатор VBA оценивает проверяемое выражение и выполняет блок кода, соответствующий одному из значений в операторах Case. Если ни одно из условий не соблюдается, выполняется блок Case Else, если он определён.
Примеры использования Select Case
Пример 1: Приветствие в зависимости от времени суток
Sub GreetMe()
Dim Msg As String
Select Case Time
Case Is < 0.5
Msg = "Доброе утро!"
Case 0.5 To 0.75
Msg = "Добрый день!"
Case Else
Msg = "Добрый вечер!"
End Select
MsgBox Msg
End Sub
В этом примере конструкция Select Case используется для выбора сообщения приветствия на основе текущего времени суток.
Пример 2: Расчет скидки на основе количества товаров
Sub Discount()
Dim Quantity As Variant
Dim Discount As Double
Quantity = InputBox("Укажите количество: ")
Select Case Quantity
Case ""
Exit Sub
Case 0 To 24
Discount = 0.1
Case 25 To 49
Discount = 0.15
Case 50 To 74
Discount = 0.2
Case Is >= 75
Discount = 0.25
End Select
MsgBox "Скидка: " & Discount
End Sub
В этом примере Select Case используется для определения размера скидки на основе введённого количества товаров.
В следующей статье рассмотрим циклы Do Loop в VBA.