Перейти к содержимому
Наше приложение «Дешевые авиабилеты» в 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. Добрый день!
      Подскажите пожалуйста, почему во втором примере индекс (a+1) необходимо сдвигать на одну, а в первом примере и так нормально работает?

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

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

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