Kombinētās kastes ļauj lietotājiem izvēlēties opciju nolaižamajā izvēlņu sarakstā. ComboBoxes var izveidot VBA UserForms vai ar Excel darblapu. Šajā apmācībā jūs uzzināsit, kā izveidot un manipulēt ar ComboBoxes VBA un Excel darblapās.
Ja vēlaties uzzināt, kā izveidot saraksta lodziņu, noklikšķiniet šeit: VBA saraksta lodziņš
Ja vēlaties uzzināt, kā izveidot izvēles rūtiņu, noklikšķiniet šeit: VBA izvēles rūtiņa
Izveidojiet kombinēto lodziņu Excel darblapā
Lai darblapā ievietotu kombinēto lodziņu, jums jādodas uz Cilne Izstrādātājs, klikšķis Ievietot un sadaļā ActiveX vadīklas izvēlieties Kombinētā kaste:
Attēls 1. Darblapā ievietojiet kombinēto lodziņu
Atlasot ievietoto kombinēto lodziņu, varat noklikšķināt uz Rekvizīti saskaņā Cilne Izstrādātājs:
2. attēls. Mainīt ComboBox rekvizītus
Šeit jūs varat iestatīt dažādus ComboBox rekvizītus. Lai sāktu, mēs mainījām atribūtu Vārds uz cmbComboBox. Tagad mēs varam izmantot ComboBox ar šo nosaukumu VBA kodā.
Aizpildiet kombinēto lodziņu VBA kodā
Pirmkārt, mums ir jāaizpilda ComboBox ar vērtībām. Vairumā gadījumu, atverot darbgrāmatu, ir jāaizpilda kombinētā kaste. Šī iemesla dēļ mums objektā ir jāievieto kods ComboBox aizpildīšanai Darba burtnīca, procedūra Atvērt. Šī procedūra tiek veikta katru reizi, kad lietotājs atver darbgrāmatu. Šeit ir kods:
123456789 | Ar Sheet1.cmbComboBox.Pievienot "Jānis".Pievienot "Maikls".Pievienot "Dženifera".Pievienot "Lilly".Pievienot "Roberts"Beigt ar |
Noklikšķinot uz nolaižamās izvēlnes, jūs saņemsiet 5 vārdus, no kuriem izvēlēties (Džons, Maikls, Dženifera, Lilija un Roberts):
3. attēls. Aizpildiet ComboBox VBA
Aizpildiet kombinēto lodziņu no šūnu diapazona
Vēl viens iespējamais ComboBox aizpildīšanas veids ir ļaut lietotājam to izdarīt. Kombinēto lodziņu var saistīt ar šūnu diapazonu. Izmantojot šo pieeju, katru reizi, kad lietotājs šūnu diapazonā ievada jaunu vērtību, ComboBox tiks atjaunināta ar šo vērtību.
Ja vēlaties to iespējot, jums jādodas uz Rekvizīti no ComboBox un iestatiet atribūtu ListFillRange uz šūnu diapazonu (mūsu gadījumā E2: E5):
4. attēls. Aizpildiet ComboBox no šūnu diapazona
Savu ComboBox mēs saistījām ar diapazonu E2: E5, kur ievietojām vēlamos vārdus (Neitans, Harijs, Džordžs, Roberta). Tā rezultātā tagad ComboBox ir aizpildīts ar šādiem nosaukumiem:
5. attēls. Apdzīvotā ComboBox no šūnu diapazona
Iegūstiet atlasītu ComboBox vienumu VBA
ComboBox mērķis ir panākt lietotāju izvēli. Lai iegūtu lietotāja izvēli, jums jāizmanto šis kods:
123 | Dim strSelectedItem kā variantsstrSelectedItem = Sheet1.cmbComboBox.Value |
Lietotāja izvēle ir atribūtā Vērtība no Sheet1.cmbComboBox objekts. Šī vērtība tiek piešķirta mainīgajam strSelectedItem:
6. attēls. Iegūstiet izvēlēto vērtību no ComboBox VBA
Mēs izvēlējāmies Jūlija ComboBox un izpildīja procedūru. Kā redzat 5. attēlā, vērtība strSelectedItem ir Jūlija, kas ir mūsu izvēlētā vērtība. Tagad jūs varat tālāk apstrādāt šo mainīgo kodā.
Notīriet kombinēto lodziņu
Ja vēlaties iztīrīt ComboBox VBA, jums jāizmanto Skaidrs metode Sheet1.lstComboBox objekts. Tas izdzēsīs visus vienumus no ComboBox. Šeit ir kods:
1 | Sheet1.cmbComboBox.Clear |
Izpildot kodu, mēs iegūstam tukšu ComboBox:
7. attēls. Notīriet kombinēto lodziņu
Lietotāja formā izmantojiet kombinēto lodziņu
Kā jau minējām, Combobox visbiežāk tiek izmantots Userforms. Lai izskaidrotu, kā to izdarīt, mēs vispirms ievietojam Userform. VBA redaktorā ar peles labo pogu noklikšķiniet uz moduļa nosaukuma, noklikšķiniet uz Ievietot un izvēlēties UserForm:
8. attēls. Ievietojiet Userform
Lai parādītu ievietošanas vadīklas, jums ir jāiespējo Instrumentu kaste. Lai to izdarītu, noklikšķiniet uzInstrumentu kaste ikonu rīkjoslā. Pēc tam jūs iegūsit logus ar visām pieejamajām vadības ierīcēm. Jūs varat noklikšķināt uz ComboBox lai to izveidotu Userform.
Attēls 9. Ievietojiet kombinēto lodziņu Userform
Mēs nosauksim nosaukumu ComboBox cmbComboBox. Lai to aizpildītu ar vērtībām, mums metodē jāievieto šāds kods Palaist no objekta UserForm:
12345678910111213 | Privāts apakšlietotājsForm_Initialize ()Ar UserForm1.cmbComboBox.Pievienot "Jānis".Pievienot "Maikls".Pievienot "Dženifera".Pievienot "Lilly".Pievienot "Roberts"Beigt arBeigu apakš |
Šis kods tiek aktivizēts katru reizi, kad lietotājs palaiž Userform un aizpilda kombinēto lodziņu ar šiem 5 nosaukumiem:
10. attēls. Kombinētais lodziņš ar vērtībām Userform
Ja vēlaties iegūt atlasīto vērtību no kombinētās kastes, darblapā ir jāizmanto tā pati loģika kombinētajai kastei, kas ir izskaidrota iepriekš rakstā.