Kombikastid lubada kasutajatel rippmenüüst loendi valida. ComboBoxes saab luua VBA UserForms või Exceli töölehe abil. Selles õpetuses saate teada, kuidas VBA -s ja Exceli töölehtedel ComboBoxe luua ja sellega manipuleerida.
Kui soovite õppida loendikasti loomist, klõpsake siin: VBA loendikast
Kui soovite õppida märkeruudu loomist, klõpsake siin: VBA märkeruut
Looge Exceli töölehel kombineeritud kast
ComboBoxi töölehele sisestamiseks peate minema lehele Arendaja vahekaart, klõpsake Sisesta ja valige ActiveX -juhtelementide alt Liitkast:
Pilt 1. Sisestage töölehele kombineeritud kast
Kui valite lisatud kombineeritud kasti, saate klõpsata Omadused all Arendaja vahekaart:
Pilt 2. Muutke ComboBoxi atribuute
Siin saate määrata ComboBoxi erinevaid omadusi. Alustuseks muutsime atribuuti Nimi et cmbComboBox. Nüüd saame selle nimega kombineeritud kasti kasutada VBA -koodis.
Täitke VBA koodi kombineeritud kast
Esiteks peame täitma ComboBoxi väärtustega. Enamikul juhtudel tuleb töövihiku avamisel kombineeritud kast täita. Seetõttu peame objektile sisestama koodi ComboBoxi täitmiseks Töövihik, protseduur Avatud. See toiming viiakse läbi iga kord, kui kasutaja avab töövihiku. Siin on kood:
123456789 | Rakendusega Sheet1.cmbComboBox.Lisa "John".Lisa "Michael".AddItem "Jennifer".Lisa "Lilly".Lisa "Robert"Lõpeta |
Kui klõpsate rippmenüül, saate valida viie nime vahel (John, Michael, Jennifer, Lilly ja Robert):
Pilt 3. Täitke VBA ComboBox
Täitke lahtrivahemiku liitkast
Teine võimalik viis kombineeritud kasti täitmiseks on lasta kasutajal seda teha. ComboBoxi saab linkida lahtrite vahemikuga. Selle lähenemisviisi korral värskendatakse kombineeritud kasti iga kord, kui kasutaja sisestab lahtrite vahemikku uue väärtuse.
Kui soovite selle lubada, peate minema lehele Omadused ja valige atribuut ListFillRange lahtrite vahemikku (meie puhul E2: E5):
Pilt 4. Täitke ComboBox lahtrite vahemikust
Me sidusime oma ComboBoxi vahemikuga E2: E5, kuhu panime soovitud nimed (Nathan, Harry, George, Roberta). Seetõttu on ComboBox nüüd täidetud järgmiste nimedega:
Pilt 5. Täidetud ComboBox lahtrite vahemikust
Hankige VBA -s kombineeritud kasti valitud üksus
ComboBoxi eesmärk on saada kasutajatele valik. Kasutaja valiku hankimiseks peate kasutama järgmist koodi.
123 | Dim strSelectedItem VariantstrSelectedItem = Sheet1.cmbComboBox.Value |
Kasutajate valik on atribuudis Väärtus kohta Leht1.cmbComboBox objekti. See väärtus määratakse muutujale strSelectedItem:
Pilt 6. Hankige valitud väärtus VBA ComboBoxist
Valisime Julia ComboBoxis ja viis protseduuri läbi. Nagu näete pildil 5, on strSelectedItem on Julia, mis on meie valitud väärtus. Nüüd saate seda muutujat koodis edasi töödelda.
Tühjendage liitkast
Kui soovite VBA -s ComboBoxi tühjendada, peate kasutama Selge meetod Sheet1.lstComboBox objekti. See kustutab kõik üksused kombineeritud kastist. Siin on kood:
1 | Sheet1.cmbComboBox.Clear |
Koodi täitmisel saame tühja ComboBoxi:
Pilt 7. Tühjendage liitkast
Kasutage kasutajavormis kombineeritud kasti
Nagu me mainisime, kasutatakse Comboboxi kõige sagedamini Userformsis. Selleks, et selgitada, kuidas saate seda teha, sisestame esmalt Userformi. VBA redaktoris paremklõpsake mooduli nime, klõpsake nuppu Sisesta ja valida UserForm:
Pilt 8. Sisestage kasutajavorm
Sisestamise juhtelementide kuvamiseks peate lubama Tööriistakast. Selleks klõpsake nuppuTööriistakast ikooni tööriistaribal. Pärast seda saate aknad koos kõigi saadaolevate juhtelementidega. Võite klõpsata ComboBox selle loomiseks Userformis.
Pilt 9. Sisestage kasutajavormi kombineeritud kast
Me nimetame ComboBoxi cmbComboBox. Selle väärtuste täitmiseks peame meetodisse sisestama järgmise koodi Initsialiseerida objektist UserForm:
12345678910111213 | Privaatne alamkasutajaForm_Initialize ()Kasutajaga UserForm1.cmbComboBox.Lisa "John".Lisa "Michael".Lisa "Jennifer".Lisa "Lilly".Lisa "Robert"LõpetaEnd Sub |
See kood käivitub iga kord, kui kasutaja Userformi käivitab ja täidab kombineeritud kasti nende viie nimega:
Pilt 10. Kombikast väärtustega Userformis
Kui soovite ComboBoxist valitud väärtust saada, peate töölehel Comboboxi jaoks kasutama sama loogikat, mida on artiklis varem selgitatud.