Для работы с пользовательским вводом данных используется InputBox. Это позволяет разработчикам создавать интерактивные макросы и приложения, которые взаимодействуют с пользователями.
Сегодня рассматриваем различные варианты использования объекта InputBox в VBA Excel с примерами кода.
⏩ Основное использование
Окно с приветственным сообщением:
В этом примере будет предложено ввести свое имя диалогового окна в окне InputBox:
Оно будет сохранено в переменную userInput. Затем введенное имя будет отображено в MsgBox
⏩ Ввод числовых значений
InputBox также позволяет получать числовые значения от пользователя. В качестве примера рассмотрим код, где пользователь вводит число:
В этом случае пользователь вводит площадь квадрата:
Затем макрос вычисляет и отображает площадь квадрата в MsgBox:
⏩ Ввод с использованием вариантов выбора
🔘 Пример 1. Рассмотрим пример, где пользователь выбирает один из предварительно определенных вариантов:
В этом случае возникнет вариант выбора цветка из предложенных: красный, зеленый или синий.
Затем макрос определяет выбранный цвет и выводит соответствующее сообщение.
🔘 Пример 2. Загадка, тест, викторина
Рассмотрим код, которым создается загадка перед использованием объекта InputBox и предполагает корректную реакцию пользователя:
Используя объект InputBox, пользователь вводит свой ответ:
В коде используется конструкция Select Case для проверки правильности ответа:
- если пользователь вводит "желтый", выводится сообщение "Правильный ответ! Вы угадали загадку":
- иначе, выводится сообщение "Неправильный ответ. Попробуйте еще раз!"
⏩ Ограничение ввода
Если вам необходимо ограничить пользовательский выбор набора параметров, вы можете использовать объект InputBox с параметром Type:
Пример кода:
В данном случае функция Application.InputBox используется вместо обычного InputBox для указания типа вводимых данных:
Далее происходит проверка, является ли вводимое значение периодом с помощью функции IsNumeric().
В зависимости от результата проверки, вы получаете сообщение.
⏩ Ввод пароля
Данный пример может быть использован для доступа к определенным листам
С помощью функции Application.InputBox выводится диалоговое окно, запрашивающее у пользователя ввод пароля. Параметр Type:=2 указывает на тип ввода пароля:
Введенное значение сравнивается с предопределенным паролем "admin", и выводится сообщение о доступе.
Подводя итог...
Безусловно это лишь некоторые примеры использования объекта InputBox, но полагаем они помогут создавать интерактивные и полезные макросы и приложения в Excel.