VBA kombineeritud kast

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.

Te aitate arengu ala, jagades leht oma sõpradega

wave wave wave wave wave