Применение функции Switch в коде VBA Excel для выбора значения из списка пар аргументов (выражение, значение) по выражению, имеющему значение True.
Описание функции Switch
Синтаксис
Аргументы
- expr – выражение, задающее условие выбора значения из пары;
- value – значение*, возвращаемое функцией Switch, если выражение из пары возвратит значение True;
- expr-1, value-1 – первая пара аргументов (выражение, значение).
* Значение может быть выражением.
Несмотря на то, что функция Switch возвращает значение, связанное с первым выражением, имеющем значение True, она проверяет все выражения из списка.
По своему функционалу функция Switch, использующаяся в VBA Excel, аналогична оператору Select Case.
Примеры кода с функцией Switch
Пример 1
Варианты выражений, задающих условия выбора значений из пар (выражение, значение):
1 2 3 4 5 6 7 8 |
Sub Primer1() Dim var As Double var = -10.12 MsgBox Switch(var = 0, "Ноль", _ var > 0 And var <= 10, "Число от 1 до 10", _ var > 10, "Число больше 10", _ var < 0, "Число отрицательное") End Sub |
Функция Switch возвращает значение в зависимости от числа, присвоенного переменной var.
Пример 2
Пользовательская функция, определяющая время года по названию месяца с помощью функции Switch:
1 2 3 4 5 6 7 8 9 |
Function VremyaGoda(Mesyats As String) VremyaGoda = Switch(Mesyats = "Декабрь" _ Or Mesyats = "Январь" Or Mesyats = "Февраль", _ "Зима", Mesyats = "Март" Or Mesyats = "Апрель" _ Or Mesyats = "Май", "Весна", Mesyats = "Июнь" _ Or Mesyats = "Июль" Or Mesyats = "Август", _ "Лето", Mesyats = "Сентябрь" Or Mesyats = "Октябрь" _ Or Mesyats = "Ноябрь", "Осень") End Function |
Чтобы протестировать функцию VremyaGoda, скопируйте ее в стандартный модуль проекта VBA. Вставить эту функцию на рабочий лист Excel можно с помощью мастера функций из раздела «Определенные пользователем».