Перейти к содержимому
Наше приложение «Дешевые авиабилеты» в AppGallery >>

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

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

    Функция Choose

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

    Синтаксис

    Параметры

    Параметр Описание
    index Выражение, возвращающее числовое значение от 1 до n, где n – количество аргументов (значений) в списке. Обязательный параметр.
    choice-1, [choice-2, …, choice-n] Заданный список аргументов (значений) типа данных Variant. choice-1 – обязательный параметр.

    Индекс аргумента (значения), по которому осуществляется выбор, соответствует порядковому номеру аргумента в списке. Соответственно, если параметр index примет значение 2, функция Choose возвратит значение аргумента choice-2.

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

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

    Пример 1

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

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

    Пример 2

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

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


    Содержание рубрики VBA Excel по тематическим разделам со ссылками на все статьи.

    6 комментариев для “VBA Excel. Функция Choose (синтаксис, компоненты, примеры)”

    1. Текст объяснения так себе.
      Примеры нормальные. Поправьте текст.

      1. Евгений

        Благодарю за обратную связь. Надеюсь, сейчас объяснение лучше.

    2. Добрый день!
      Подскажите пожалуйста, почему во втором примере индекс (a+1) необходимо сдвигать на одну, а в первом примере и так нормально работает?

      1. Евгений

        Добрый день, Айжан!
        Параметр index не может быть меньше единицы, а во втором примере переменная a может принимать значение ноль.

    Обсуждение закрыто.