VBA sarakstu kaste

VBA varat izveidot a Saraksta kaste kur lietotājs var izvēlēties vienu no uzskaitītajām opcijām. Listbox bieži tiek izmantots Userforms, bet to var izmantot arī darblapā. Šajā apmācībā jūs uzzināsit, kā izveidot, aizpildīt un dzēst sarakstu lodziņu. Jūs arī redzēsit, kā iegūt lietotāja izvēli VBA un izmantot to kodā.

Ja vēlaties uzzināt, kā izveidot ComboBox, noklikšķiniet šeit: VBA ComboBox

Ja vēlaties uzzināt, kā izveidot izvēles rūtiņu, noklikšķiniet šeit: VBA izvēles rūtiņa

Izveidojiet sarakstu

Lai darblapā ievietotu saraksta lodziņu, jums jādodas uz Cilne Izstrādātājs, klikšķis Ievietot un sadaļā ActiveX vadīklas izvēlieties Saraksta lodziņš:

Attēls 1. Darblapā ievietojiet saraksta lodziņu

Atlasot ievietoto saraksta lodziņu, varat noklikšķināt uz Rekvizīti saskaņā Cilne Izstrādātājs:

2. attēls. Mainīt saraksta lodziņa rekvizītus

Šeit jūs varat iestatīt dažādus saraksta lodziņa rekvizītus. Sākumā mēs mainījām atribūtu Vārds uz lstListBox. Tagad mēs varam izmantot saraksta lodziņu ar šo nosaukumu VBA kodā.

Saraksta lodziņa aizpildīšana VBA kodā

Pirmkārt, mums ir jāaizpilda saraksta lodziņš ar vērtībām. Vairumā gadījumu, atverot darbgrāmatu, ir jāaizpilda saraksta kastīte. Šī iemesla dēļ mums objektā ir jāievieto kods Listbox 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.lstListBox.Pievienot "Jānis".Pievienot "Maikls".Pievienot "Dženifera".Pievienot "Lilly".Pievienot "Roberts"Beigt ar

Kā redzat 3. attēlā, mūsu sarakstu kastē bija 5 vārdi (Džons, Maikls, Dženifera, Lilija un Roberts):

3. attēls. Saraksta lodziņa aizpildīšana VBA

Saraksta lodziņa aizpildīšana no šūnu diapazona

Vēl viens iespējamais saraksta kastes aizpildīšanas veids ir ļaut lietotājam to izdarīt. Sarakstu lodziņu var saistīt ar šūnu diapazonu. Tāpēc katru reizi, kad lietotājs šūnu diapazonā ievada jaunu vērtību, saraksta lodziņš tiks atjaunināts ar šo vērtību.

Ja vēlaties to iespējot, jums jādodas uz Rekvizīti sarakstā un iestatiet atribūtu ListFillRange:

4. attēls. Saraksta lodziņu aizpildiet no šūnu diapazona

Mēs saistījām savu Listbox ar diapazonu E2: E5, kur ievietojām vēlamos vārdus (Neitans, Harijs, Džordžs, Roberta). Rezultātā sarakstu kastē tagad ir šie nosaukumi.

Iegūstiet atlasītu saraksta lodziņa vienumu VBA

Listbox mērķis ir panākt, lai lietotāji izvēlas. Lai izgūtu lietotāja atlasītu vērtību, jums jāizmanto šis kods:

123 Dim strSelectedItem kā variantsstrSelectedItem = Sheet1.lstListBox.Value

Lietotāja izvēle ir atribūtā Vērtība no Sheet1.lstListbox objekts. Šī vērtība tiek piešķirta mainīgajam strSelectedItem:

5. attēls. Iegūstiet atlasīto vērtību no saraksta kastes VBA

Mēs izvēlējāmies Harijs sarakstā un izpildīja procedūru. Kā redzat 5. attēlā, vērtība strSelectedItem ir Harijs, kas ir mūsu izvēlētā vērtība. Turklāt jūs varat apstrādāt šo mainīgo kodā.

Notīrīt saraksta lodziņu

Lai notīrītu sarakstu lodziņu VBA, jums jāizmanto Skaidrs metode Sheet1.lstListBox objekts. Tas izdzēsīs visus vienumus no saraksta kastes. Šeit ir kods:

1 Sheet1.lstListBox.Clear

Izpildot kodu, mēs iegūstam tukšu saraksta lodziņu:

Attēls 6. Notīriet saraksta lodziņu

Lietotāja formā izmantojiet sarakstlodziņu

Kā jau minējām, Listbox 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:

7. 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 ListBox lai to izveidotu Userform.

8. attēls. Lietotāja formā ievietojiet saraksta lodziņu

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.lstListBox.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 sarakstu lodziņu ar šiem 5 nosaukumiem:

9. attēls. Saraksta 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