Приостановка макросов для пользовательского ввода (Microsoft Excel)
Те, кто уже довольно давно занимается программами для работы с электронными таблицами, могут вспомнить старую команду \ {?} ~, Которая была доступна в Lotus 1-2-3. Эта команда позволяет приостановить выполнение макроса, пока пользователь вводит данные в электронную таблицу.
В Excel нет такой возможности, но есть способы, с помощью которых вы можете запрашивать у пользователя ввод данных. Вот два основных метода:
Функция MsgBox. * Эта функция отображает диалоговое окно и набор кнопок. Когда пользователь нажимает кнопку, возвращается целочисленное значение, указывающее на нажатую кнопку. Затем ваша программа может предпринять действия в зависимости от возвращенного значения. (Для получения дополнительной информации о функции MsgBox, link: / excel-Using_Message_Boxes [см. Этот совет]
.)
Функция InputBox. * Эта функция отображает диалоговое окно и позволяет пользователю ввести ответ. Все типы пользователей возвращаются макросу в виде строки. (Для получения дополнительной информации о функции InputBox, link: / excelribbon-Getting_User_Input_in_a_Dialog_Box [см. Этот совет]
.)
Обе эти функции обсуждались в других выпусках ExcelTips, как указано в ссылках выше. В зависимости от ввода пользователя вы можете изменить то, что делает макрос, любым способом. Единственный недостаток функций заключается в том, что они возвращают только один дискретный фрагмент данных.
Другими словами, они не предназначены для того, чтобы пользователь мог ввести диапазон ячеек, а затем продолжить обработку. Например, если вы хотите попросить пользователя предоставить пять значений, предназначенных для пяти ячеек, вам нужно будет представить InputBox пять раз, помещая ответы пользователя в нужные ячейки одну за другой.
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (9515) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365.