VBA -yhdistelmälaatikko

Yhdistelmälaatikot anna käyttäjien valita vaihtoehto avattavasta valikosta. Yhdistelmälaatikot voidaan luoda VBA UserForms -ohjelmassa tai Excel -laskentataulukolla. Tässä opetusohjelmassa opit luomaan ja käsittelemään yhdistelmälaatikoita VBA: ssa ja Excel -laskentataulukoissa.

Jos haluat oppia luomaan luetteloruudun, napsauta tätä: VBA Listbox

Jos haluat oppia luomaan valintaruudun, napsauta tätä: VBA -valintaruutu

Luo yhdistelmälaatikko Excel -laskentataulukkoon

Voit lisätä yhdistelmäruudun laskentataulukkoon siirtymällä kohtaan Kehittäjä -välilehti, klikkaus Lisää ja valitse ActiveX -komponentit -kohdasta Yhdistelmälaatikko:

Kuva 1. Lisää yhdistelmäruutu laskentataulukkoon

Kun valitset lisäämäsi yhdistelmälaatikon, voit napsauttaa Ominaisuudet alla Kehittäjä -välilehti:

Kuva 2. Muuta ComboBox -ominaisuuksia

Tässä voit asettaa ComboBoxin eri ominaisuuksia. Aloitimme muuttamalla määritettä Nimi kohteeseen cmbComboBox. Nyt voimme käyttää tämän nimen yhdistelmälaatikkoa VBA -koodissa.

Täytä yhdistelmälaatikko VBA -koodissa

Ensinnäkin meidän on täytettävä yhdistelmälaatikko arvoilla. Useimmissa tapauksissa yhdistelmälaatikko on täytettävä työkirjan avaamisen yhteydessä. Tämän vuoksi meidän on lisättävä koodi ComboBoxin täyttämiseen objektissa Työkirja, menettely Avata. Tämä toimenpide suoritetaan aina, kun käyttäjä avaa työkirjan. Tässä on koodi:

123456789 Sheet1.cmbComboBoxin kanssa.Lisää "John".Lisää "Michael".Lisää "Jennifer".Lisää "Lilly".Lisää "Robert"Lopeta

Kun napsautat avattavaa valikkoa, saat 5 nimeä (John, Michael, Jennifer, Lilly ja Robert):

Kuva 3. Täytä ComboBox VBA: ssa

Täytä yhdistelmälaatikko solualueelta

Toinen mahdollinen tapa täyttää ComboBox on antaa käyttäjän tehdä se. ComboBox voidaan linkittää solualueeseen. Tässä lähestymistavassa yhdistelmäruutu päivittyy aina, kun käyttäjä syöttää uuden arvon solualueelle.

Jos haluat ottaa tämän käyttöön, sinun on siirryttävä kohtaan Ominaisuudet ComboBoxista ja aseta määritteeksi ListFillRange solualueelle (tässä tapauksessa E2: E5):

Kuva 4. Täytä ComboBox solualueelta

Yhdistimme ComboBoxin valikoimaan E2: E5, johon laitoimme haluamamme nimet (Nathan, Harry, George, Roberta). Tämän seurauksena yhdistelmälaatikko on nyt varustettu seuraavilla nimillä:

Kuva 5. Yhdistelmälaatikko solualueelta

Hanki valittu kohde yhdistelmälaatikosta VBA: ssa

ComboBoxin tarkoitus on saada käyttäjät valitsemaan. Käyttäjien valinnan saamiseksi sinun on käytettävä tätä koodia:

123 Dim strSelectedItem VaihtoehtonastrSelectedItem = Sheet1.cmbComboBox.Value

Käyttäjien valinta on määritteessä Arvo / Sheet1.cmbComboBox esine. Tämä arvo on määritetty muuttujalle strSelectedItem:

Kuva 6. Hanki valittu arvo VBA: n yhdistelmälaatikosta

Valitsimme Julia ComboBoxissa ja suoritti toimenpiteen. Kuten näet kuvassa 5, strSelectedItem On Julia, joka on valitsemamme arvo. Nyt voit käsitellä tätä muuttujaa edelleen koodissa.

Tyhjennä ComboBox

Jos haluat tyhjentää ComboBoxin VBA: ssa, sinun on käytettävä Asia selvä menetelmä Sheet1.lstComboBox esine. Se poistaa kaikki kohteet yhdistelmäruudusta. Tässä on koodi:

1 Sheet1.cmbComboBox.Clear

Kun suoritamme koodin, saamme tyhjän ComboBoxin:

Kuva 7. Tyhjennä ComboBox

Käytä ComboBoxia Userformissa

Kuten mainitsimme, Comboboxia käytetään useimmiten Userformsissa. Selitämme, miten voit tehdä sen, lisäämme ensin Userformin. Napsauta VBA-editorissa Moduulin nimeä hiiren kakkospainikkeella ja napsauta Lisää ja valitse UserForm:

Kuva 8. Lisää käyttäjälomake

Jos haluat näyttää lisäämisen ohjaimet, sinun on otettava käyttöön Työkalupakki. Voit tehdä tämän napsauttamallaTyökalupakki -kuvaketta työkalurivillä. Tämän jälkeen saat ikkunat, joissa on kaikki käytettävissä olevat säätimet. Voit napsauttaa Yhdistelmälaatikko luoda se Userformissa.

Kuva 9. Aseta yhdistelmälaatikko Userformiin

Nimeämme ComboBoxin cmbComboBox. Jotta voimme täyttää sen arvoilla, meidän on lisättävä seuraava koodi menetelmään Alustaa esineestä UserForm:

12345678910111213 Yksityinen alikäyttäjäForm_Initialize ()UserForm1.cmbComboBoxin kanssa.Lisää "John".Lisää "Michael".Lisää "Jennifer".Lisää "Lilly".Lisää "Robert"LopetaEnd Sub

Tämä koodi käynnistyy aina, kun käyttäjä suorittaa Userformin ja täyttää Comboboxin seuraavilla viidellä nimellä:

Kuva 10. Yhdistelmäruutu, jossa on arvot Userformissa

Jos haluat saada valitun arvon yhdistelmälaatikosta, sinun on käytettävä samaa logiikkaa laskentataulukon yhdistelmälaatikossa, joka selitetään aiemmin artikkelissa.

Tulet auttaa kehittämään sivuston jakaminen sivu ystävillesi

wave wave wave wave wave