VBA -luetteloruutu

VBA: ssa voit luoda Luettelo jossa käyttäjä voi valita jonkin luettelossa olevista vaihtoehdoista. Listboxia käytetään usein Userformsissa, mutta sitä voidaan käyttää myös laskentataulukossa. Tässä opetusohjelmassa opit luomaan, täyttämään ja poistamaan luetteloruudun. Näet myös, miten saat käyttäjän valinnan VBA: ssa ja käytät sitä koodissa.

Jos haluat oppia luomaan yhdistelmälaatikon, napsauta tätä: VBA ComboBox

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

Luo luetteloruutu

Jos haluat lisätä luetteloruudun laskentataulukkoon, sinun on siirryttävä kohtaan Kehittäjä -välilehti, klikkaus Lisää ja valitse ActiveX -komponentit -kohdasta Luetteloruutu:

Kuva 1. Lisää luetteloruutu laskentataulukkoon

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

Kuva 2. Muuta luetteloruudun ominaisuuksia

Täällä voit asettaa Listalaatikon eri ominaisuuksia. Aluksi muutimme määritettä Nimi kohteeseen lstListBox. Nyt voimme käyttää tämän nimen luetteloluetteloa VBA -koodissa.

Täytä luetteloruutu VBA -koodissa

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

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

Kuten kuvassa 3 näet, täytimme luetteloruudumme viidellä nimellä (John, Michael, Jennifer, Lilly ja Robert):

Kuva 3. Täytä luetteloruutu VBA: ssa

Täytä luetteloruutu solualueelta

Toinen mahdollinen tapa täyttää luetteloruutu on antaa käyttäjän tehdä se. Luetteloruutu voidaan linkittää solualueeseen. Siksi aina, kun käyttäjä syöttää uuden arvon solualueelle, Listbox päivittyy kyseisellä arvolla.

Jos haluat ottaa tämän käyttöön, sinun on siirryttävä kohtaan Ominaisuudet ListBoxista ja aseta määritteeksi ListFillRange:

Kuva 4. Täytä luetteloruutu solualueelta

Linkitimme Listboximme alueeseen E2: E5, johon laitoimme haluamamme nimet (Nathan, Harry, George, Roberta). Tämän seurauksena Listbox on nyt täytetty näillä nimillä.

Hanki valittu kohde luetteloluettelosta VBA: ssa

Listboxin tarkoitus on saada käyttäjät valitsemaan. Jotta voit hakea käyttäjän valitseman arvon, sinun on käytettävä tätä koodia:

123 Dim strSelectedItem VaihtoehtonastrSelectedItem = Sheet1.lstListBox.Value

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

Kuva 5. Hae valittu arvo VBA: n luetteloruudusta

Valitsimme Harry luetteloruutuun ja suoritti toimenpiteen. Kuten näet kuvassa 5, strSelectedItem On Harry, joka on valitsemamme arvo. Lisäksi voit käsitellä tämän muuttujan koodissa.

Tyhjennä luetteloruutu

Jos haluat tyhjentää luetteloruudun VBA: ssa, sinun on käytettävä Asia selvä menetelmä Sheet1.lstListBox esine. Se poistaa kaikki kohteet luetteloruudusta. Tässä on koodi:

1 Sheet1.lstListBox.Clear

Kun suoritamme koodin, saamme tyhjän luetteloruudun:

Kuva 6. Tyhjennä luetteloruutu

Käytä Listformboxia Userformissa

Kuten mainitsimme, Listboxia 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 7. 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 ListBox luoda se Userformissa.

Kuva 8. Lisää luetteloruutu 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.lstListBoxin 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ää luetteloruudun seuraavilla viidellä nimellä:

Kuva 9. Listalaatikko, jossa on arvoja 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