В этом руководстве будет показано, как использовать проверку данных для работы с раскрывающимися списками в Excel с помощью VBA.
Проверка данных Excel позволяет ограничить, какие значения могут быть введены в ячейку или диапазон. Вы можете ограничить записи положительными целыми числами, текстом, датами и многим другим. В этом руководстве мы рассмотрим, как создать раскрывающийся список проверки данных в ячейке с помощью VBA.
Примечание. Альтернативой раскрывающемуся списку проверки данных является объект ListBox. ListBoxes могут быть добавлены в рабочие листы Excel. ListBoxes может запускать макросы, которые запускаются каждый раз при изменении значения ListBox. ListBoxes также используются в пользовательских формах VBA.
Создание раскрывающегося списка с помощью VBA
У нас есть текст Fruit в ячейке A1, и мы собираемся создать раскрывающийся список в ячейке A2 с пятью записями.
Мы будем использовать метод Validation.Add и укажем, что параметр Type - xlValidateList. Вы можете добавить конкретные элементы, которые хотите в свой список, с помощью параметра Formula1.
Следующий код создаст раскрывающийся список проверки данных в ячейке A2:
123456 | Sub DropDownListinVBA ()Диапазон ("A2"). Validation.Add Тип: = xlValidateList, AlertStyle: = xlValidAlertStop, _Formula1: = "Апельсин, Яблоко, Манго, Груша, Персик"Конец подписки |
Результат:
Заполнение раскрывающегося списка из именованного диапазона в VBA
Вы можете использовать именованный диапазон, содержащий элементы, для заполнения раскрывающегося списка в VBA. У нас есть названный диапазон животных, показанный ниже:
Мы должны установить параметр Formula1 равным названному диапазону. Следующий код создаст раскрывающийся список проверки данных в ячейке A7 на основе элементов в названном диапазоне:
123456 | Sub PopulateFromANamedRange ()Диапазон ("A7"). Validation.Add Тип: = xlValidateList, AlertStyle: = xlValidAlertStop, _Formula1: = "= Животные"Конец подписки |
Результат:
Удаление раскрывающегося списка
Вы можете использовать метод Validation.Delete, чтобы удалить раскрывающийся список из ячейки. Следующий код удалит раскрывающийся список из ячейки A7 в приведенном выше примере:
12345 | Sub RemoveDropDownList ()Диапазон ("A7"). Проверка. УдалитьКонец подписки |