VBA ComboBox

Kombinirani okviri dopustiti korisnicima da odaberu opciju s padajućeg popisa. Kombinirani okviri mogu se stvoriti u VBA korisničkim obrascima ili s radnim listom programa Excel. U ovom ćete vodiču naučiti kako stvoriti i manipulirati ComboBoxima u VBA i u Excel radnim listovima.

Ako želite naučiti kako stvoriti okvir s popisom, kliknite ovdje: VBA popisni okvir

Ako želite naučiti kako stvoriti okvir za potvrdu, kliknite ovdje: VBA potvrdni okvir

Izradite ComboBox u radnom listu programa Excel

Da biste umetnuli ComboBox u radni list, morate otići na Kartica Developer, kliknite Umetnuti a pod ActiveX Controls odaberite Kombinirana kutija:

Slika 1. Umetnite ComboBox u radni list

Kad odaberete ComboBox koji ste umetnuli, možete kliknuti na Svojstva ispod Kartica Developer:

Slika 2. Promijenite ComboBox svojstva

Ovdje možete postaviti različita svojstva ComboBox -a. Za početak smo promijenili atribut Ime do cmbComboBox. Sada možemo koristiti ComboBox s ovim imenom u VBA kodu.

Popunite ComboBox u VBA kodu

Prvo, moramo popuniti ComboBox vrijednostima. U većini slučajeva, ComboBox se mora popuniti kada se radna knjiga otvori. Zbog toga moramo staviti kôd za popunjavanje ComboBox -a u objektu Radna bilježnica, postupak Otvorena. Ovaj se postupak izvodi svaki put kada korisnik otvori radnu knjigu. Evo koda:

123456789 S Sheet1.cmbComboBox.Dodajte stavku "John".Dodajte stavku "Michael".Dodajte stavku "Jennifer".Dodajte stavku "Lilly".Dodatak "Robert"Završi s

Kada kliknete na padajući izbornik, dobit ćete 5 imena za izbor (John, Michael, Jennifer, Lilly i Robert):

Slika 3. Napunite ComboBox u VBA

Popunite ComboBox iz raspona ćelija

Drugi mogući način popunjavanja ComboBox -a je dopustiti korisniku da to učini. ComboBox se može povezati s rasponom ćelija. U ovom pristupu, svaki put kada korisnik unese novu vrijednost u raspon ćelija, ComboBox će se ažurirati tom vrijednošću.

Ako to želite omogućiti, morate otići na Svojstva iz ComboBox -a i postavite atribut ListFillRange do raspona ćelija (u našem slučaju E2: E5):

Slika 4. Napunite ComboBox iz raspona ćelija

Povezali smo naš ComboBox s rasponom E2: E5, gdje stavljamo imena koja želimo (Nathan, Harry, George, Roberta). Kao rezultat toga, ComboBox je sada popunjen sljedećim imenima:

Slika 5. Napunjeni ComboBox iz raspona ćelija

Nabavite odabranu stavku ComboBox -a u VBA -i

Svrha ComboBox -a je omogućiti korisnicima izbor. Da biste dohvatili korisnički izbor, morate koristiti ovaj kôd:

123 Zatamni strSelectedItem kao varijantustrSelectedItem = Sheet1.cmbComboBox.Vrijednost

Odabir korisnika nalazi se u atributu Vrijednost od List1.cmbComboBox objekt. Ova vrijednost je dodijeljena varijabli strSelectedItem:

Slika 6. Dobijte odabranu vrijednost iz ComboBox -a u VBA -i

Odabrali smo Julija u ComboBoxu i izvršio postupak. Kao što možete vidjeti na slici 5, vrijednost strSelectedItem je Julija, što je vrijednost koju smo odabrali. Sada ovu varijablu možete dalje obraditi u kodu.

Očistite ComboBox

Ako želite obrisati ComboBox u VBA -i, morate upotrijebiti Čisto metoda List1.lstComboBox objekt. Izbrisat će sve stavke iz ComboBox -a. Evo koda:

1 Sheet1.cmbComboBox.Clear

Kad izvršimo kôd, dobivamo prazan ComboBox:

Slika 7. Očistite ComboBox

Koristite ComboBox u korisničkom obliku

Kao što smo spomenuli, Combobox se najčešće koristi u korisničkim oblicima. Da bismo objasnili kako to možete učiniti, prvo ćemo umetnuti Userform. U uređivaču VBA desnom tipkom miša kliknite naziv modula, a zatim kliknite Umetnuti i izabrati Korisnički obrazac:

Slika 8. Umetnite korisnički obrazac

Da biste prikazali kontrole za umetanje, morate omogućiti Kutija s alatima. Da biste to učinili, kliknite naKutija s alatima ikonu na alatnoj traci. Nakon toga dobit ćete prozore sa svim dostupnim kontrolama. Možete kliknuti na ComboBox kako biste ga stvorili u korisničkom obliku.

Slika 9. Umetnite ComboBox u Userform

Nazvat ćemo ComboBox cmbComboBox. Da bismo ga popunili vrijednostima, moramo unijeti sljedeći kod u metodu Inicijalizirati objekta Korisnički obrazac:

12345678910111213 Privatni pomoćni korisnički obrazac_Initialize ()Pomoću UserForm1.cmbComboBox.Dodajte stavku "John".Dodajte stavku "Michael".Dodajte stavku "Jennifer".Dodajte stavku "Lilly".Dodatak "Robert"Završi sKraj podm

Ovaj se kôd pokreće svaki put kada korisnik pokrene Userform i popuni Combobox s ovih 5 imena:

Slika 10. ComboBox sa vrijednostima u korisničkom obliku

Ako želite dobiti odabranu vrijednost iz ComboBox -a, morate koristiti istu logiku za Combobox na radnom listu, što je objašnjeno ranije u članku.

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave