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

Синтаксис функции InputBox следующий:

sResponse = InputBox(sPrompt, sTitle, sDefault)

Есть три параметра, которые вы можете использовать с InputBox (каждый из них — строки), хотя абсолютно необходим только первый. В этом синтаксисе sPrompt — это текст, который вы хотите отображать в качестве приглашения пользователя, sTitle — это текст, отображаемый в строке заголовка диалогового окна, а sDefault — это текстовая строка по умолчанию, предлагаемая пользователю в диалоговом окне. Пользователь может по желанию отредактировать или принять строку по умолчанию.

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

Dim sUserName as String Dim sPrompt as String Dim sTitle as String Dim sDefault as String

sPrompt = "Please check your name and make any corrections"

sTitle = "Name Entry"

sDefault = "John Doe"

sUserName = InputBox(sPrompt, sTitle, sDefault)

Когда этот код завершен, переменная sUserName будет содержать все, что ввел пользователь. Затем вы можете в своем макросе использовать этот ввод любым другим способом, который считаете нужным.

Функция InputBox отлично подходит для получения одного фрагмента данных за раз, так как с его помощью вы можете опубликовать только один «вопрос». Если вам нужно получить кучу пользовательского ввода для использования в вашем макросе, вам нужно будет полагаться либо на UserForm, либо получить ввод прямо с рабочего листа. (Оба подхода обсуждались в других ExcelTips.)

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (11416) применим к Microsoft Excel 2007, 2010, 2013 и 2016.

Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:

link: / excel-Getting_User_Input_in_a_Dialog_Box [Получение пользовательского ввода в диалоговом окне].