VBA Excel. Метод Application.InputBox (синтаксис, параметры)
Синтаксис метода Параметры метода Возвращаемые значения Примеры
Синтаксис метода
Обязательным параметром метода Application.InputBox является Prompt , если значения остальных параметров явно не указаны, используются их значения по умолчанию.
оператор InputBox вызывает функцию InputBox , а оператор Application.InputBox вызывает метод InputBox.
Чтобы не было путаницы, метод InputBox пишут как метод Application.InputBox, в том числе и в справке разработчика .
Параметры метода
Параметр | Описание | Значение по умолчанию |
Prompt | Обязательный параметр. Выражение типа String , отображаемое в диалоговом окне в виде сообщения, приглашающего ввести данные в поле. Разделить на строки сообщение можно с помощью константы vbNewLine . | Нет |
Title | Необязательный параметр. Выражение типа Variant , отображаемое в заголовке диалогового окна. | Слово «Ввод» |
Default | Необязательный параметр. Выражение типа Variant , отображаемое в поле ввода при открытии диалога. | Пустая строка |
Left | Необязательный параметр. Выражение типа Variant , определяющее в пунктах расстояние от левого края экрана до левого края диалогового окна (координата X).* | Горизонтальное выравнивание по центру** |
Top | Необязательный параметр. Выражение типа Variant , определяющее в пунктах расстояние от верхнего края экрана до верхнего края диалогового окна (координата Y).* | Приблизительно равно 1/3 высоты экрана*** |
HelpFile | Необязательный параметр. Выражение типа Variant , указывающее имя файла справки для этого поля ввода. | Нет**** |
HelpContextID | Необязательный параметр. Выражение типа Variant , указывающее идентификатор контекста в справочном разделе файла справки. | Нет**** |
Type | Необязательный параметр. Выражение типа Variant , указывающее тип возвращаемых данных. | 2 (текст) |
* Параметры Left и Top учитываются при отображении диалогового окна методом Application.InputBox в Excel 2003, а в последующих версиях Excel 2007-2016 уже не работают .
**При первом запуске горизонтальное выравнивание устанавливается по центру, при последующих — форма отобразиться в том месте, где ее последний раз закрыли.
***При первом запуске вертикальное расположение приблизительно равно 1/3 высоты экрана, при последующих — форма отобразиться в том месте, где ее последний раз закрыли.
**** Если будут указаны параметры HelpFile и HelpContextID , в диалоговом окне появится кнопка справки.
Возвращаемые значения
Аргументы параметра Type и соответствующие им типы возвращаемых значений:
Примеры
Пример 1 — параметры по умолчанию
Тестируем метод Application.InputBox с необязательными параметрами по умолчанию. Аргумент параметра Type по умолчанию равен 2.
Скопируйте код и вставьте в стандартный модуль, для удобства создайте на рабочем листе кнопку из панели «Элементы управления формы» и назначьте ей макрос «Test1». На рабочем листе заполните некоторые ячейки разными данными, нажимайте кнопку, выбирайте ячейки и смотрите возвращаемые значения.
Клик по кнопке «OK» диалога Application.InputBox в этом примере возвращает содержимое выбранной ячейки (или левой верхней ячейки выбранного диапазона), преобразованное в текстовый формат. У дат в текстовый формат преобразуется их числовое представление.
Клик по кнопке «Отмена» или по закрывающему крестику возвращает строку «False».
Пример 2 — возвращение объекта Range
В первом информационном окне MsgBox выводится значение первой ячейки выбранного диапазона, во втором — адрес диапазона.
Напомню, что обращаться к ячейке в переменной диапазона «a» можно не только по порядковому номеру (индексу) самой ячейки, но и по индексу строки и столбца, на пересечении которых она находится. Например, оба выражения
указывают на первую ячейку диапазона. А в объектной переменной «a» с присвоенным диапазоном размерностью 3х3 оба выражения
При использовании метода Application.InputBox происходит проверка введенных данных: попробуйте понажимать кнопку «OK» с пустым полем ввода и с любым введенным текстом (кроме абсолютного адреса). Реакция в этих случаях разная, но понятная.
Есть и отрицательные моменты: при использовании в диалоге Application.InputBox параметра Type со значением равным 8, нажатие кнопок «Отмена» и закрывающего крестика вызывают ошибку Type mismatch (Несоответствие типов). Попробуйте нажать кнопку «Отмена» или закрыть форму диалога.
Решить эту проблему можно, добавив обработчик ошибок. Скопируйте в стандартный модуль код следующей процедуры, создайте еще одну кнопку и назначьте ей макрос «Test3».
Попробуйте теперь нажать кнопку «Отмена» или закрыть форму диалога крестиком.
Пример 3 — возвращение массива
Скопируйте в стандартный модуль код процедуры ниже, создайте четвертую кнопку и назначьте ей макрос «Test4». В этой процедуре указан только аргумент параметра Type равным 64, остальные необязательные параметры оставлены по умолчанию.
Чтобы не попасть за границу массива используйте функцию UBound для определения наибольшего доступного индекса по каждому из двух измерений, например, вот так:
[expert_bq id=»1570″]Для простоты в поле Имя макроса оставляют Макрос1 , а в поле Сочетание клавиш вставляют, например, hh это значит, что запустить программку можно будет блиц-командой Ctrl h. Если же вы хотите что-то уточнить, обращайтесь ко мне![/expert_bq] Теперь, когда уже запущена запись макроса, производят копирование содержимого какой-либо ячейки в другую. Возвращаются на исходную пиктограмму. Нажимают на «Запись макроса». Это действие означает завершение программки.Именованный диапазон в Excel
На этот случай функция СУММЕСЛИ припасла третий необязательный аргумент, который отвечает за диапазон, который необходимо просуммировать. Т.е. по первому аргументу функция проверяет условие, а третий подлежит суммированию.
Параметр | Описание | Значение по умолчанию |
Prompt | Обязательный параметр. Выражение типа String , отображаемое в диалоговом окне в виде сообщения, приглашающего ввести данные в поле. Разделить на строки сообщение можно с помощью константы vbNewLine . | Нет |
Title | Необязательный параметр. Выражение типа Variant , отображаемое в заголовке диалогового окна. | Слово «Ввод» |
Default | Необязательный параметр. Выражение типа Variant , отображаемое в поле ввода при открытии диалога. | Пустая строка |
Left | Необязательный параметр. Выражение типа Variant , определяющее в пунктах расстояние от левого края экрана до левого края диалогового окна (координата X).* | Горизонтальное выравнивание по центру** |
Top | Необязательный параметр. Выражение типа Variant , определяющее в пунктах расстояние от верхнего края экрана до верхнего края диалогового окна (координата Y).* | Приблизительно равно 1/3 высоты экрана*** |
HelpFile | Необязательный параметр. Выражение типа Variant , указывающее имя файла справки для этого поля ввода. | Нет**** |
HelpContextID | Необязательный параметр. Выражение типа Variant , указывающее идентификатор контекста в справочном разделе файла справки. | Нет**** |
Type | Необязательный параметр. Выражение типа Variant , указывающее тип возвращаемых данных. | 2 (текст) |