VBA popisni okvir - odabrana stavka

Ovaj članak će pokazati kako raditi s odabranom stavkom u okviru s popisom u Excelu VBA.

Okviri s popisima uglavnom se koriste u VBA obrascima, ali se mogu koristiti i na vašem radnom listu programa Excel. Korisnicima prikazuju popis opcija, od kojih jednu ili više njih korisnik može odabrati.

Stvaranje popisa u VBA obrascu

Da bismo stvorili okvir s popisom u VBA obliku, prvo moramo stvoriti UserForm.

Nakon što ste stvorili obrazac, odaberite kontrolu okvira okvira u alatnoj kutiji, a zatim povucite da biste stvorili okvir s popisom na obrascu.

Dodavanje vrijednosti u okvir s popisom

U događaj Initialize obrasca upišite sljedeći kôd. Okvir s popisom pokupit će vrijednosti koje su pohranjene u rasponu ćelija na vašem radnom listu programa Excel.

123456 Privatni pomoćni korisnički obrazac_Initialize ()Dim rng As RangeZa svaki rng u rasponu ("A1: A50")Me.lstState.AddItem rng.ValueSljedeći rngKraj podm

Kada pokrenemo obrazac, prikazat će se okvir s popisom kako je prikazano na donjoj slici:

Odabir vrijednosti iz okvira s popisom

Prema zadanim postavkama, jedna vrijednost može se odabrati u okviru s popisom u korisničkom obliku. Međutim, to se može izmijeniti promjenom svojstva Višestruki odabir okvira s popisom.

Pritisnite okvir s popisom da biste ga odabrali, a zatim u prozoru Svojstva promijenite svojstvo Višestruki odabir iz 0-frmMultiSelectSingle do 1-frmMultiSelectMulti.

Sada kada pokrenemo obrazac, možemo odabrati više od jedne opcije u okviru s popisom.

Promijenimo li opciju biti 2-frmMultiSelectExtended, to znači da možemo odabrati jednu od vrijednosti, a zatim, držite tipku SHIFT, odaberite drugu vrijednost dalje na popisu, a bit će odabrane i sve stavke između 2 odabrane vrijednosti.

VBA programiranje | Generator koda radi za vas!

Rad s odabranim vrijednostima u VBA

Ovisno o vrsti opcije koju smo koristili za svojstvo Višestruki odabir u okviru s popisom, postoji nekoliko načina na koje možemo upotrijebiti vrijednost ili vrijednosti odabrane u okviru s popisom u VBA kodu.

Dodjeljivanje vrijednosti varijabli

Možemo koristiti After_Update događaj okvira s popisom za dodjeljivanje odabrane vrijednosti varijabli.

Prvo, stvorimo varijablu razine modula na vrhu modula obrasca.

Ispod riječi, Opcija Eksplicitno, stvorite sljedeću varijablu niza.

1 Zatamni strState kao String.

Nakon što smo stvorili ovu varijablu, možemo dvaput kliknuti na okvir List kako bismo otišli do koda iza obrasca, ili možemo kliknuti gumb koda u VBE Editoru.

Click Event u okviru s popisom automatski će se stvoriti. Odaberite After_Update Događaji s popisa dostupnih postupaka.

U događaj After_Update upišite sljedeći kôd:

123 Privatna dodatna lstState_AfterUpdate ()strState = Ja.lstStateKraj podm

NAPOMENA: Događaj Click možete izbrisati jer nije potreban.

Sada, ako pokrenemo obrazac i kliknemo na okvir s popisom, odabrana vrijednost bit će spremljena u varijablu. Kako bismo to provjerili, možemo staviti točku BREAK u kôd.

Sada kada pokrenemo obrazac, ako kliknemo na okvir s popisom, kôd će preći u način otklanjanja pogrešaka i zaustaviti se na našoj točki prekida. Ako tada pritisnemo F8 na tipkovnici za pomak korak dalje u kodu, varijabla će biti popunjena odabranom stavkom na popisu.

Ovu vrijednost možemo vidjeti tako što ćemo miša postaviti na varijablu.

ILI

Vrijednost možemo vidjeti u neposrednom prozoru.

Umorni ste od traženja primjera VBA koda? Isprobajte AutoMacro!

Korištenje naredbenog gumba za vraćanje vrijednosti u Excel

Prvo stvaramo naredbeni gumb na obrascu kako bismo imali gumb U redu za vraćanje vrijednosti ili vrijednosti odabranih u okviru s popisom u Excel.

Odaberite kontrolu naredbenog gumba, a zatim kliknite i povucite u obrascu da biste stvorili gumb.

U prozoru Svojstva promijenite naziv gumba u cmdOKi promijenite naslov i ubrzivač gumba.

Svrha akceleratora je da korisnik u ovom slučaju pomoću tipkovnice aktivira gumb Alt+O aktiviralo bi gumb.

Da bi naredbeni gumb funkcionirao, moramo dodati kôd iza njega kako bi se kôd pokrenuo kada se pritisne gumb. To se naziva Click događaj gumba.

Da biste došli do događaja klika, dvaput kliknite gumb u prikazu dizajna obrasca. Događaj klika automatski će se stvoriti jer je to događaj koji se najčešće koristi za naredbene gumbe.

Upišite sljedeći kôd u događaj klika naredbenog gumba.

123 Privatna pod cmdOK_Click ()Raspon ("E1") = strStateKraj podm

Kôd će pokupiti varijablu koju smo deklarirali u događaju After_Update ListBox -a i vratiti vrijednost rasponu u Excelu.

Alternativno, vrijednost možemo pokupiti izravno iz okvira s popisom bez upotrebe varijable.

123 Privatna pod cmdOK_Click ()Raspon ("E1") = me.lstStateKraj podm

Kada pokrenemo obrazac, odabrana vrijednost bit će vraćena u Excel kada pritisnemo gumb U redu.

Odabir više vrijednosti

Ako smo svojstvo višestrukog odabira okvira s popisom postavili na 1 ili 2 što nam omogućuje odabir više vrijednosti na popisu, tada je kôd za odabir ovih vrijednosti nešto drugačiji.

The After_Update događaj se više ne pokreće pri odabiru vrijednosti u okviru s popisom - stoga ne možemo koristiti ovaj događaj.

Još uvijek možemo koristiti događaj klika na naredbenom gumbu, ali moramo proći kroz vrijednosti odabrane u okviru s popisom kako bismo ih vratili u Excel.

U naredbeni gumb Kliknite događaj, upišite sljedeći kôd.

12345678910 Privatna pod cmdOK_Click ()Dim x kao cijeli brojRaspon ("E1"). OdaberiteZa x = 0 za Me.lstState.ListCount - 1Ako je Me.lstState.Selected (x) = IstinaActiveCell = Me.lstState.List (x)ActiveCell.Offset (1, 0) .OdaberiteZavrši akoSljedeći xKraj podm

Sada, kada pokrenemo obrazac, samo će se odabrane vrijednosti vratiti na Excel tablicu.

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

wave wave wave wave wave