Kako stvoriti ovisni kombinirani okvir u VBA Excelu?

Sadržaj:

Anonim

Znamo kako stvoriti padajući padajući izbornik na radnom listu pomoću provjere valjanosti podataka. Ali kako stvoriti padajući padajući izbornik kombiniranog okvira na VBA korisničkom obliku. To je jedna od osnovnih potreba.

U ovom ćemo članku naučiti kako stvoriti ovisni kombinirani okvir u VBA -i.

Logika za ovisni kombinirani okvir u VBA -i

Da bismo stvorili ovisni kombinirani okvir u VBA -i, moramo inicijalizirati kombinirani okvir u slučaju izvornog elementa. Na primjer, ako kombinirani okvir ovisi o grupi radio gumba, kôd za učitavanje kombiniranog okvira ovisnog o učitavanju trebao bi se pokrenuti odmah nakon što netko odabere radio gumb. Ili ako kombinirani okvir ovisi o drugom kombiniranom okviru, ovisno o kombiniranom okviru, trebao bi se učitati svaki put kada se promijeni vrijednost u kombiniranom okviru.

Dosta je bilo teorije. Skočimo na primjer da vidimo kako to funkcionira.

ComboBox Ovisno o drugom Comboboxu

Izradite dva kombinirana okvira. Prvo treba navesti nekoliko naziva zemalja. Drugi bi trebao navesti nazive država odabrane zemlje. Ako korisnik promijeni državu u prvom kombiniranom okviru, popis drugog kombiniranog okvira treba promijeniti.

Izradimo obrazac koji ima dva kombinirana okvira s oznakama zemalja i država i naredbeni gumb za slanje unosa.

Prvi kombinirani okvir trebao bi navesti nazive zemalja i ne ovisi o bilo kojoj vrijednosti. Pa ćemo ga učitati u form_intialize događaj kao što činimo za osnovnu inicijalizaciju kombiniranog okvira.

Dvaput kliknite na korisnički obrazac. Otvorit će područje kodiranja u UserForm objektu. Sada s padajućeg izbornika slijeva odaberite korisnički obrazac. Zatim s desnog padajućeg izbornika odaberite Inicijalizacija.

Umetnut će se prazan podnaziv UserForm_Initialize (). Sve što je napisano u ovoj podmeniju izvršit će se prije nego što se korisnički oblik pojavi.

Dakle, ovdje pišemo inicijalizacijski kod za combobox.

Privatni pod UserForm_Initialize () zemlje = Array ("Indija", "Nepal", "Butan", "Shree Lanka") UserForm1.ComboBox1.List = navodi End Sub 

Inicijalizirani je naš prvi kombinirani okvir. Kad god učitate korisnički obrazac, prvi kombinirani popis bit će spreman s imenom zemalja.

Sada za učitavanje drugog kombiniranog okvira, moramo pogledati koja je vrijednost odabrana u prvom kombiniranom okviru1 i pokrenuti kôd svaki put kada kombinirani okvir1 promijeni svoje vrijednosti. Za to ćemo koristiti događaj Combobox_AfterUpdate.

Na lijevom padajućem izborniku odaberite kombinirani okvir1. S desnog padajućeg izbornika odaberite AfterUpdate. Također možemo koristiti događaj Promjena, ali zadržat ćemo se na AfterUpdate u članku.

Sada napišite donji kod:

Private Sub ComboBox1_AfterUpdate () Odaberite slučaj ComboBox1.Value Case "India": states = Array ("Delhi", "UP", "UK", "Gujrat", "Kashmir") Case "Nepal": states = Array ("Arun Kshetra "," Janakpur Kshetra "," Kathmandu Kshetra ", _" Gandak Kshetra "," Kapilavastu Kshetra ") Slučaj" Butan ": stanja = Array (" Bumthang "," Trongsa "," Punakha "," Thimphu "," Paro ") Slučaj" Shree Lanka ": stanja = Array (" Galle "," Ratnapura "," Colombo "," Badulla "," Jaffna ") Kraj Odaberite ComboBox2.List = navodi End Sub 

Ovdje smo koristili odabir slučaja. Izjava o slučaju odabira dobra je kada želimo vidjeti koja je vrijednost odabrana od mnogih vrijednosti. Ovdje sam to detaljno objasnio.

Za spremanje vrijednosti koju je korisnik umetnuo koristite gumb za slanje. Upišite donji kôd u naredbeni gumb za slanje kako biste spremili državu i državu koju je korisnik odabrao na radnom listu.

Privatna podredba CommandButton1_Click () country = ComboBox1.Value State = ComboBox2.Vrednost ThisWorkbook.Worksheets ("sheet1"). Range ("G1") = country ThisWorkbook.Worksheets ("sheet1"). Range ("H1") = State Unload Me End Sub 

Sada za prikaz korisničkog oblika umetnite gumb na radni list i napišite donji kod. Ili možete koristiti jednostavan modul za prikaz korisničkog oblika.

Sub load_userform () UserForm1.Show End Sub 

Sada pokrenite kod load_userform.

Kako radi?

Kada pokrenete podmeni koji ima kôd userform.show, VBA pokreće userform_initialize događaje odmah nakon izvođenja naredbe userform.show. U događaju userform_intialize inicijalizirali smo prvi kombinirani okvir s popisom zemalja. Nakon toga se obrazac prikazuje korisniku.

Sada kada korisnik odabere bilo koju vrijednost iz prvog kombiniranog okvira, događa se događaj combobox1_AfterUpdate. Ovaj događaj sadrži kôd za provjeru vrijednosti koju je korisnik odabrao u combobox1 i na temelju te vrijednosti postavlja niz stanja i inicijalizira vrijednosti combobox2 s nizom stanja.

Pa da, dečki, ovako stvarate kaskadni kombinirani okvir u VBA korisničkom obliku. Nadam se da sam dovoljno objasnio i da je članak poslužio svrsi. Ako imate bilo kakvih nedoumica u vezi ovog članka ili bilo koje VBA teme, pitajte me u donjem odjeljku komentara.

Početak korištenja Excel VBA korisničkih obrazaca| Objasnit ću kako stvoriti obrazac u Excelu, kako koristiti VBA alatni okvir, kako rukovati korisničkim ulazima i na kraju kako pohraniti korisničke unose. Kroz ove ćemo teme proći jednim primjerom i vodičem korak po korak.

VBA varijable u Excelu| VBA znači Visual Basic for Applications. To je programski jezik iz Microsofta. Koristi se s aplikacijama Microsoft Office kao što su MSExcel, MS-Word i MS-Access, dok su VBA varijable određene ključne riječi.

Excel VBA varijabilni opseg| U svim programskim jezicima imamo specifikatore pristupa varijablama koji definiraju odakle se može pristupiti definiranoj varijabli. Excel VBA nije iznimka. VBA također ima specifikatore opsega.

Argumenti ByRefa i ByVala | Kada se argument prenese kao ByRef argument na drugu pod -funkciju ili funkciju, šalje se referenca stvarne varijable. Sve promjene napravljene u kopiji varijable odrazit će se u izvornom argumentu.

Brisanje listova bez upita za potvrdu pomoću VBA u programu Microsoft Excel | Budući da brišete listove pomoću VBA -a, znate što radite. Htjeli biste Excel reći da ne prikazuje ovo upozorenje i izbrisati prokleti list.

Dodajte i spremite novu radnu knjigu pomoću VBA -a u programu Microsoft Excel 2016| U ovom smo kodu najprije stvorili referencu na objekt radne knjige. Zatim smo ga inicijalizirali novim objektom radne knjige. Prednost ovog pristupa je u tome što s ovom novom radnom knjigom možete lako raditi. Kao spremanje, zatvaranje, brisanje itd

Prikažite poruku na statusnoj traci programa Excel VBA| Statusna traka u Excelu može se koristiti kao monitor koda. Kad je vaš VBA kôd dugačak i obavite nekoliko zadataka pomoću VBA -a, često onemogućujete ažuriranje zaslona kako ne biste vidjeli kako zaslon treperi.

Isključite poruke upozorenja pomoću VBA u programu Microsoft Excel 2016| Ovaj kôd ne samo da onemogućuje VBA upozorenja, već i povećava vremensku učinkovitost koda. Pogledajmo kako.

Popularni članci:

50 Excel prečaca za povećanje vaše produktivnosti | Budite brži u izvršavanju svojih zadataka. Ovih 50 prečaca učinit će da radite još brže na Excelu.

Funkcija VLOOKUP u Excelu | Ovo je jedna od najčešće korištenih i popularnih funkcija programa Excel koja se koristi za traženje vrijednosti iz različitih raspona i listova.

COUNTIF u Excelu 2016 | Brojte vrijednosti s uvjetima pomoću ove nevjerojatne funkcije. Ne morate filtrirati svoje podatke da biste brojali određene vrijednosti. Funkcija Countif bitna je za pripremu vaše nadzorne ploče.

Kako koristiti funkciju SUMIF u Excelu | Ovo je još jedna bitna funkcija nadzorne ploče. To vam pomaže pri zbrajanju vrijednosti u posebnim uvjetima.