Комбинирани кутии на Excel VBA - Лесни макроси на Excel

Съдържание

По -долу ще разгледаме програма в Excel VBA който създава потребителска форма, която съдържа зависими комбинирани кутии. Потребителската форма, която ще създадем, изглежда, както следва:

Потребителят избира Животни от падащ списък. В резултат на това потребителят може да избере животно от втори падащ списък.

Потребителят избира Спорт от падащ списък. В резултат на това потребителят може да избере спорт от втори падащ списък.

За да създадете тази потребителска форма, изпълнете следните стъпки.

1. Отворете редактора на Visual Basic. Ако Project Explorer не се вижда, щракнете върху View, Project Explorer.

2. Щракнете върху Вмъкване, Потребителска форма. Ако Toolbox не се появи автоматично, щракнете върху View, Toolbox. Екранът ви трябва да бъде настроен както е показано по -долу.

3. Добавете комбинираните полета (първо вляво, второ вдясно) и командния бутон. След като това приключи, резултатът трябва да бъде в съответствие с картината на Userform, показана по -рано. Например, създайте контрола за комбинирано поле, като щракнете върху ComboBox от Toolbox. След това можете да плъзнете комбинирано поле в Userform.

4. Можете да промените имената и надписите на контролите. Имената се използват в кода на Excel VBA. Надписите са тези, които се появяват на екрана ви. Добра практика е да промените имената на контролите, но това не е необходимо тук, защото в този пример имаме само няколко контроли. За да промените надписа на Userform и командния бутон, щракнете върху View, Properties Window и кликнете върху всяка контрола.

5. За да покажете Userform, поставете команден бутон на работния си лист и добавете следния код:

Частна подкоманда CommandButton1_Click ()
UserForm1.Show
End Sub

Сега ще създадем Sub UserForm_Initialize. Когато използвате метода Show за Userform, този подфайл ще се изпълни автоматично.

6. Отворете редактора на Visual Basic.

7. В Project Explorer щракнете с десния бутон върху UserForm1 и след това щракнете върху Преглед на кода.

8. Изберете Userform от левия падащ списък. Изберете Инициализиране от десния падащ списък.

9. Добавете следните кодови редове:

Частен подпотребителForm_Initialize ()
С ComboBox1
.AddItem "Животни"
.AddItem "Спорт"
.AddItem "Храна"
Край с
End Sub

Обяснение: Тези кодови редове запълват първото комбинирано поле.

Вече създадохме първата част на Userform. Въпреки че вече изглежда добре, нищо няма да се случи, когато изберем елемент от първото комбинирано поле.

10. В Project Explorer щракнете двукратно върху UserForm1.

11. Щракнете двукратно върху първото комбинирано поле.

12. Добавете следните кодови редове:

Частен под ComboBox1_Change ()
Индекс на затъмняване като цяло число
индекс = ComboBox1.ListIndex
ComboBox2.Clear
Изберете Индекс на случая
Случаят е = 0
С ComboBox2
.AddItem "Куче"
.AddItem "Котка"
.AddItem "Кон"
Край с
Случаят е = 1
С ComboBox2
.AddItem "Тенис"
.AddItem "Плуване"
.AddItem "Баскетбол"
Край с
Случаят е = 2
С ComboBox2
.AddItem "Палачинки"
.AddItem "Пица"
.AddItem "китайски"
Край с
Край Изберете
End Sub

Обяснение: Excel VBA използва стойността на индекса на променливата, за да тества всеки следващ оператор Case, за да види с кои елементи трябва да се попълни второто комбинирано поле. Прегледайте нашата програма Select Case, за да научите повече за структурата на Select Case.

13. Щракнете двукратно върху бутона Импортиране.

14. Добавете следния код:

Частна подкоманда CommandButton1_Click ()
Диапазон ("A1"). Стойност = ComboBox2.Value
End Sub

Резултат:

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave