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

VBA Excel. Необязательные параметры

    Как сделать параметр процедуры Sub или Function в VBA Excel необязательным? Используйте ключевое слово Optional и функцию IsMissing.

    Необязательные параметры в VBA Excel

    Параметр процедуры необязателен — это означает, что при вызове процедуры аргумент может быть не предоставлен.

    Чтобы задать необязательные параметры процедуры используется ключевое слово Optional в определении процедуры.

    Для необязательных параметров есть следующие правила:

    1. Для каждого необязательного параметра в определении процедуры необходимо указать значение по умолчанию.
    2. Значение по умолчанию для необязательного параметра должно быть константой или выражением константы.
    3. В определении процедуры сначала указываются обязательные параметры, а затем — необязательные. Параметр, следующий за необязательным параметром, должен быть необязательным.

    Пример указания необязательных параметров:

    Значение параметра по умолчанию

    Указать значение по умолчанию для необязательного параметра можно двумя способами: задать значение в определении процедуры или с помощью функции IsMissing.

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

    Первый вариант — указание значения по умолчанию в определении функции:

    Второй вариант указания значения по умолчанию для необязательного параметра осуществляется с помощью функции IsMissing.

    Функция IsMissing

    Функция IsMissing проверяет, передан ли необязательный аргумент в процедуру, и возвращает соответствующее логическое значение:

    • True — для указанного аргумента не было передано ни одного значения.
    • False — для указанного аргумента было передано значение.

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

    Функция IsMissing работает только с типом данных Variant.


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