Перейти к содержимому

VBA Excel. Функция Choose (синтаксис, компоненты, примеры)

Выбор значения из заданного списка аргументов с помощью функции Choose в VBA Excel. Синтаксис и компоненты функции, примеры использования.

  1. Описание функции Choose
  2. Примеры использования в VBA Excel

Описание функции Choose

Функция Choose предназначена в VBA Excel для выбора одного значения по его индексу из заданного списка аргументов.

Синтаксис функции Choose

Choose(index, vybor 1, vybor 2, ..., vybor n)

Компоненты функции Choose

  • index – переменная или выражение, возвращающее числовое значение от 1 до n, где n - количество аргументов (значений) в списке;
  • vybor – аргумент (значение), может быть представлен выражением;
  • vybor 1, ..., vybor n – заданный список аргументов (значений).

Индекс, присвоенный аргументу (значению), соответствует порядковому номеру расположения аргумента в списке. Соответственно, если компонент index примет значение 2, функция Choose возвратит значение vybor 2.

Тестирование функции Choose в VBA Excel 2016 показало, что дробный индекс перед определением возвращаемого значения округляется вниз. Если компонент index примет значение выходящее за рамки диапазона от 1 до n, будет сгенерирована ошибка.

Примеры использования в VBA Excel

Пример 1

Простой пример использования функции Choose:

Sub primer1()
Dim a As Integer, b As String
a = InputBox("Введите число от 1 до 10", "Пример 1", 1)
b = Choose(a, "один", "два", "три", "четыре", "пять", _
"шесть", "семь", "восемь", "девять", "деcять")
MsgBox b
End Sub

Эта возможность функции Choose применяется в коде пользовательской функции для преобразования числовой денежной суммы в сумму прописью.

Пример 2

Пример использования функции Choose с компонентами в виде выражений:

Sub primer2()
Dim a As Integer, b As String
a = InputBox("Введите число от 0 до 10", "Пример 2", 0)
b = Choose(a + 1, a & " (ноль)", a & " (один)", a & _
" (два)", a & " (три)", a & " (четыре)", a & " (пять)", _
a & " (шесть)", a & " (семь)", a & " (восемь)", a & _
" (девять)", a & " (де" & "cя" & "ть)")
MsgBox b
End Sub

Подобный функционал в VBA Excel можно организовать с помощью многострочной конструкции оператора If...Then...Else или оператора Select Case, но с функцией Choose это получается гораздо проще и наглядней.

Добавить комментарий

Ваш комментарий будет опубликован после прохождения обязательной модерации. Исходящие ссылки не допускаются. Время модерации составит от нескольких минут до нескольких часов в зависимости от времени суток и занятости модератора.