Поле со списком проверки данных Excel: ограничить параметры именованным диапазоном

#vba #excel #combobox

#vba #excel #поле со списком

Вопрос:

Заранее спасибо за вашу помощь.

Я создал простую форму VBA в Excel. В этой форме я создал поле со списком. Чтобы заполнить это поле со списком, я создал именованный диапазон и вставил его в поле источника строки.

Хорошие новости: поле заполняется, и я могу использовать функции автозаполнения поля со списком.

Плохие новости: я не могу ограничить то, что пользователь вводит в поле. Например. если Dog, Cat, Frog являются параметрами в именованном диапазоне — я не могу запретить пользователю вводить T-Rex и отправлять форму в БД.

Есть ли простое решение?

Комментарии:

1. Когда пользователь вводит свой ввод, почему бы просто не проверить, существует ли этот ввод в диапазоне? Или загрузить диапазон в массив и проверить, находится ли пользовательский ввод в этом массиве? Не могли бы вы опубликовать соответствующий код, и мы могли бы посмотреть, как вы это делаете, для идей?

2. Установите для свойства Style значение DropDownList

3. Это ^^ . Также смотрите заполнение поля со списком из диапазона в обзоре кода.

Ответ №1:

Установка свойства Style в DropDownList решает проблему, но ограничивает возможности пользователей вводить данные в ячейку.

Установка для параметра MatchRequired значения true позволяет полю со списком функционировать в обычном режиме, но ограничивает запись определенным диапазоном.