VBA Listbox

V VBA lahko ustvarite datoteko Seznam kjer lahko uporabnik izbere eno od navedenih možnosti. Listbox se pogosto uporablja v uporabniških oblikah, lahko pa tudi na delovnem listu. V tej vadnici se boste naučili ustvariti, zapolniti in izbrisati Listbox. Videli boste tudi, kako do uporabniške izbire v VBA in jo uporabiti v kodi.

Če želite izvedeti, kako ustvariti ComboBox, kliknite tukaj: VBA ComboBox

Če se želite naučiti ustvariti potrditveno polje, kliknite tukaj: potrditveno polje VBA

Ustvarite Listbox

Če želite v delovni list vstaviti polje s seznamom, pojdite na Zavihek za razvijalce, kliknite Vstavi in pod možnostjo Kontrolniki ActiveX izberite Seznam:

Slika 1. V delovni list vstavite polje s seznamom

Ko izberete Listbox, ki ste ga vstavili, lahko kliknete na Lastnosti pod Zavihek za razvijalce:

Slika 2. Spremenite lastnosti seznama

Tu lahko nastavite različne lastnosti seznama. Za začetek smo spremenili atribut Ime do lstListBox. Zdaj lahko v kodi VBA uporabimo Listbox s tem imenom.

V kodo VBA napolnite polje s seznamom

Najprej moramo Listbox napolniti z vrednostmi. V večini primerov je treba pri odpiranju delovnega zvezka vnesti polje s seznamom. Zaradi tega moramo v objekt vnesti kodo za izpolnjevanje Listbox Delovni zvezek, postopek Odprto. Ta postopek se izvede vsakič, ko uporabnik odpre delovni zvezek. Tukaj je koda:

123456789 S Sheet1.lstListBox.Dodaj "John".AddItem "Michael".AddItem "Jennifer".AddItem "Lilly".Dodatek "Robert"Končaj s

Kot lahko vidite na sliki 3, smo naš Listbox napolnili s 5 imeni (John, Michael, Jennifer, Lilly in Robert):

Slika 3. V VBA vnesite Listbox

Napolnite polje s seznamom iz obsega celic

Drug možen način zapolnitve seznama je, da to dovolite uporabniku. Listbox je mogoče povezati z obsegom celic. Zato se bo vsakič, ko uporabnik vnese novo vrednost v obseg celic, Listbox posodobil s to vrednostjo.

Če želite to omogočiti, pojdite na Lastnosti polja ListBox in nastavite atribut ListFillRange:

Slika 4. Napolnite polje List iz obsega celic

Listbox smo povezali z obsegom E2: E5, kamor vnesemo imena, ki jih želimo (Nathan, Harry, George, Roberta). Posledično je Listbox zdaj poseljen s temi imeni.

Pridobite izbrani element seznama v VBA

Namen seznama je, da uporabniki izbirajo. Če želite pridobiti vrednost, ki jo izbere uporabnik, morate uporabiti to kodo:

123 Zatemni strSelectedItem kot variantostrSelectedItem = Sheet1.lstListBox.Value

Izbira uporabnikov je v atributu Vrednost od Sheet1.lstListbox predmet. Ta vrednost je dodeljena spremenljivki strSelectedItem:

Slika 5. Pridobite izbrano vrednost iz seznama v VBA

Izbrali smo Harry v seznamu in izvedli postopek. Kot lahko vidite na sliki 5, je vrednost strSelectedItem je Harry, kar je vrednost, ki smo jo izbrali. Poleg tega lahko to spremenljivko obdelate v kodi.

Počistite polje s seznamom

Če želite počistiti Listbox v VBA, morate uporabiti Jasno metoda Sheet1.lstListBox predmet. Izbrisal bo vse elemente iz seznama. Tukaj je koda:

1 Sheet1.lstListBox.Clear

Ko izvedemo kodo, dobimo prazno Listbox:

Slika 6. Počistite polje s seznamom

Uporabite Listbox v uporabniškem obrazcu

Kot smo omenili, se Listbox najpogosteje uporablja v uporabniških oblikah. Če želite razložiti, kako lahko to storite, najprej vstavimo uporabniški obrazec. V urejevalniku VBA z desno tipko miške kliknite Ime modula, kliknite na Vstavi in izberite Uporabniški obrazec:

Slika 7. Vstavite uporabniški obrazec

Če želite prikazati kontrolnike za vstavljanje, morate omogočiti Orodjarna. Če želite to narediti, kliknite naOrodjarna ikono v orodni vrstici. Po tem boste dobili okna z vsemi razpoložljivimi kontrolami. Lahko kliknete na ListBox da ga ustvarite v uporabniškem obrazcu.

Slika 8. V polje Userform vstavite Listbox

Imenovali bomo ComboBox cmbComboBox. Če ga želimo zapolniti z vrednostmi, moramo v metodo vnesti naslednjo kodo Inicializirajte predmeta Uporabniški obrazec:

12345678910111213 Zasebni podporabnikForm_Initialize ()Z UserForm1.lstListBox.Dodaj "John".AddItem "Michael".AddItem "Jennifer".AddItem "Lilly".Dodatek "Robert"Končaj sEnd Sub

Ta koda se sproži vsakič, ko uporabnik zažene uporabniški obrazec in napolni polje s temi petimi imeni:

Slika 9. Listbox z vrednostmi v uporabniškem obrazcu

Če želite iz ComboBox -a dobiti izbrano vrednost, morate uporabiti isto logiko za Combobox na delovnem listu, kar je razloženo prej v članku.

Vam bo pomagal razvoj spletnega mesta, ki si delijo stran s svojimi prijatelji

wave wave wave wave wave