#excel #vba
Вопрос:
Я создал форму пользователя, используя макросы в Excel. Код не зависит от excel (он не считывает данные из excel).
Как только откроется форма пользователя, я заполню поле с несколькими элементами в нем,:
combo.additem "a"
combo.additem "b"
combo.additem "c"'
Из того, что я обнаружил, для того, чтобы сделать выпадающий список недоступным для редактирования, мне нужно изменить стиль списка на выпадающий список.
Тем не менее, как только я это сделаю, мои варианты выпадающих списков окажутся:
"" (blank cell)
a
b
c
Есть ли возможность сохранить поле со списком недоступным для редактирования без добавления первой пустой ячейки?
Спасибо
Комментарии:
1. Опция «пусто» эквивалентна «ничего не выбрано». AFAIK, нет никакого способа избежать этой опции, поскольку это неинициализированное состояние выпадающего списка с таким стилем. Я бы предложил просто установить значение по умолчанию, если это уместно, и обработать пустое значение с проверкой по мере необходимости.
2. Когда вы добавляете 3 элемента в выпадающий список, как вы упомянули, вы не получаете 4 варианта в выпадающем списке? Как вы получили эти 4 варианта?
3. @Comintern Вы предлагаете, чтобы я создал, например, Combo_Initialize Combo.value = «a»?
4. Это было предложение Сиддхарта, но да. Думайте о пустом параметре как о «нулевом».
5. @Siddharthout У меня есть 4 варианта (пустой 3), и как только откроется форма пользователя, после выбора опции она удаляет пустой. Это заставляет меня ошибаться только при первом выборе
Ответ №1:
Выпадающий список станет недоступным для редактирования dropbox, когда вы измените его Styleна 2 - fmStyleDropDownList
.
Добавьте .ListIndex=0
в свой код, чтобы в dropbox не было пустого поля, а первый элемент отображался по умолчанию.