image

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

Они называются InputBox. InputBox в VBA — это своего рода заранее разработанная пользовательская форма. Вы можете использовать поле ввода, чтобы получить несколько типов ввода. Но вход может одновременно принимать только один тип входных данных. В Excel есть два типа полей ввода. Один из них — простой InputBox, а другой — Application InputBox. Поле ввода имеет несколько аргументов для работы с разными типами ввода. Некоторые из них мы узнаем в этой статье.

Простое поле ввода VBA. Это поле ввода можно использовать непосредственно в VBA, поскольку это функция.

Эта функция запрашивает пользовательскую форму для ввода значения. Синтаксис функции InputBox:

InputBox(prompt, [Title], [Default], [Xpos], [YPos], [HelpFile],

[Context])

подсказка: это единственный обязательный аргумент. Это строковое выражение, отображаемое как сообщение в диалоговом окне. Максимальная длина приглашения составляет примерно 1024 символа, в зависимости от ширины используемых символов. Если приглашение состоит из более чем одной строки, вы можете разделить строки с помощью символа возврата каретки (Chr (13)), символа перевода строки (Chr (10)) или комбинации символов возврата каретки и перевода строки Chr (13) & (Chr (10 между каждой строкой.

[title]: это необязательно. Это строковое выражение, отображаемое в строке заголовка диалогового окна. Если вы опустите заголовок, будет помещено имя приложения в строке заголовка. Если вы используете Excel, будет отображаться Microsoft Excel.

[по умолчанию]: * Это тоже необязательно. Это строковое выражение, отображаемое в текстовом поле в качестве ответа по умолчанию, если нет другого ввода предоставляется.

Если вы опустите значение по умолчанию, текстовое поле отображается пустым.

[xpos]: * Числовое выражение, определяющее в твипах горизонтальное расстояние от левого края диалогового окна до левый край экрана. Если xpos не указан, диалоговое окно центрируется по горизонтали.

[ypos]: * Числовое выражение, определяющее в твипах вертикальное расстояние верхнего края диалогового окна от верхнего края экрана.

Если ypos опущен, диалоговое окно располагается вертикально примерно на одной трети от экрана.

[helpfile]: строковое выражение, определяющее файл справки, используемый для предоставления контекстно-зависимой справки для диалогового окна. Если предоставляется файл справки, также необходимо указать контекст.

[context] *: числовое выражение, представляющее собой номер контекста справки, присвоенный соответствующему разделу справки автором справки. Если указан контекст, также должен быть предоставлен файл справки.

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

Пример 1: Получить входные данные, чтобы поздороваться с пользователем Допустим, я хочу, чтобы моя подпрограмма приветствовала пользователя. Поэтому я прошу имя пользователя и приветствую его как «Hello UserName». Для этого я воспользуюсь этим кодом:

Sub InputBoxExample()

user_name = InputBox("Please Enter Your Name.")

MsgBox ("Hello " & user_name & "!")

End Sub

Когда вы запустите указанный выше код в VBA, появится пользовательская форма с заголовком «Пожалуйста, введите свое имя». с текстовым полем ниже.

Вы можете видеть, что окно называется «Microsoft Excel», а текстовое поле пусто. Потому что мы не использовали эти аргументы для установки их значения.

image

Пример 2: Установите заголовок поля ввода как приветствие пользователя и установите значение по умолчанию как пользователь. В этом примере мы установим заголовок как приветствие пользователя, чтобы vba не мог отображать имя приложения, и мы установим значение по умолчанию как пользователь, чтобы текстовое поле отображается пустым.

Sub InputBoxExample()

user_name = InputBox("Please Enter Your Name.", "Greet User", "Uesr")

MsgBox ("Hello " & user_name & "!")

End Sub

Когда вы запустите приведенный выше код, вы получите такой результат.

image

Остальные аргументы используются нечасто. Они в основном используются для установки местоположения пользовательской формы на краях Excel. Последние два аргумента используются для предоставления пользователю контекстной информации.

Итак, да, теперь вы можете использовать поле ввода, чтобы получать данные от пользователей в Excel с помощью функции поля ввода. Я объяснил Application.InputBox здесь.

Пожалуйста, проверьте это тоже. Это более мощно, чем эта функция поля ввода.

Надеюсь, я достаточно объяснил, и это было вам полезно. Если у вас есть какие-либо вопросы по этой статье или по любой другой теме VBA, дайте мне знать в разделе комментариев ниже.

Статьи по теме:

link: / applications-word-outlook-in-vba-Getting-started-with-excel-vba-userforms [Начало работы с пользовательскими формами Excel VBA] | * Я объясню, как создать форму в Excel, как использовать Панель инструментов VBA, как обрабатывать вводимые пользователем данные и, наконец, как хранить вводимые пользователем данные. Мы рассмотрим эти темы на одном примере и пошаговом руководстве.

link: / general-themes-in-vba-vba-variables-in-excel [переменные VBA в Excel] | * VBA означает Visual Basic для приложений.

Это язык программирования от Microsoft. Он используется с приложениями Microsoft Office, такими как MSExcel, MS-Word и MS-Access, тогда как переменные VBA являются конкретными ключевыми словами.

link: / general-themes-in-vba-excel-vba-variable-scope [Область переменных Excel VBA] | * Во всех языках программирования у нас есть спецификаторы доступа к переменным, которые определяют, откуда можно получить доступ к определенной переменной. Excel VBA — не исключение. VBA тоже имеет спецификаторы области видимости.

link: / cells-range-rows-and-columns-in-vba-what-is-the-difference-between-byref-and-byval-arguments-vba-интервью-question [ByRef and ByVal Arguments] | Когда аргумент передается как аргумент ByRef в другую подпрограмму или функцию, отправляется ссылка на фактическую переменную. Любые изменения, внесенные в копию переменной, будут отражены в исходном аргументе.

link: / files-workbook-and-worksheets-in-vba-delete-sheet-without-confirm-prompts-using-vba-in-microsoft-excel [Удалять листы без запросов подтверждения с помощью VBA в Microsoft Excel] | Поскольку вы удаляете листы с помощью VBA, вы знаете, что делаете.

Вы хотите, чтобы Excel не показывал это предупреждение и не удалял этот проклятый лист.

link: / files-workbook-and-worksheets-in-vba-add-and-save-new-workbook-using-vba-in-microsoft-excel [Добавить и сохранить новую книгу с помощью VBA в Microsoft Excel 2016] | В этом коде мы сначала создали ссылку на объект книги. А затем мы инициализировали его новым объектом книги. Преимущество этого подхода заключается в том, что вы можете легко выполнять операции с этой новой книгой. Например, сохранение, закрытие, удаление и т. Д. Display A Message On Строка состояния Excel VBA * | Строку состояния в Excel можно использовать как монитор кода. Когда ваш код VBA длинный и вы выполняете несколько задач с помощью VBA, вы часто отключаете обновление экрана, чтобы не видеть мерцания экрана.

link: / general-themes-in-vba-turn-off-warning-messages-using-vba-in-microsoft-excel [Отключить предупреждающие сообщения с помощью VBA в Microsoft Excel 2016] | * Этот код отключает не только VBA предупреждения, но также увеличивает временную эффективность кода. Посмотрим как.

Популярные статьи:

link: / keyboard-formula-shortcuts-50-excel-shortcuts-to-вашу-продуктивность [50 комбинаций клавиш Excel для повышения вашей продуктивности] | Выполняйте свою задачу быстрее. Эти 50 ярлыков заставят вас работать в Excel еще быстрее.

link: / формулы-и-функции-введение-функции-vlookup [Функция ВПР в Excel] | Это одна из наиболее часто используемых и популярных функций Excel, которая используется для поиска значений из разных диапазонов и листов. link: / tips-countif-in-microsoft-excel [COUNTIF в Excel 2016] | Подсчитайте значения с условиями, используя эту удивительную функцию. Вам не нужно фильтровать данные для подсчета определенных значений.

Функция Countif важна для подготовки вашей приборной панели.

link: / excel-formula-and-function-excel-sumif-function [Как использовать функцию СУММЕСЛИ в Excel] | Это еще одна важная функция приборной панели. Это поможет вам суммировать значения для конкретных условий.