VBA ComboBox

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ā.

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave