Kako ustvariti odvisen skupni okvir v VBA Excelu?

Kazalo:

Anonim

Vemo, kako z validacijo podatkov ustvariti padajoč spustni meni na delovnem listu. Kako pa ustvarimo spustni spustni meni padajočega seznama na uporabniškem obrazcu VBA. To je ena izmed osnovnih potreb.

V tem članku se bomo naučili, kako ustvariti odvisno kombinirano polje v VBA.

Logika za odvisni kombinirani okvir v VBA

Če želite ustvariti odvisno kombinirano polje v VBA, moramo inicializirati kombinirano polje za dogodek izvornega elementa. Na primer, če je kombinirano polje odvisno od skupine izbirnih gumbov, se mora koda za nalaganje odvisnega kombiniranega polja zagnati takoj, ko nekdo izbere izbirni gumb. Ali pa, če je kombinirano polje odvisno od drugega kombiniranega polja, se mora odvisno od kombiniranega polja naložiti vsakič, ko se vrednost v kombiniranem polju spremeni.

Dovolj teorije. Pojdimo na primer, da vidimo, kako deluje.

ComboBox Odvisno od drugega Combobox

Ustvarite dva kombinirana polja. Najprej je treba navesti nekaj imen držav. Drugi mora navesti imena držav izbrane države. Če uporabnik spremeni državo v prvem kombiniranem polju, je treba spremeniti seznam drugega kombiniranega polja.

Ustvarimo obrazec, ki ima dva kombinirana polja z oznakami držav in stanj ter ukazni gumb za predložitev vnosa.

Prvo kombinirano polje mora navajati imena držav in ni odvisno od nobene vrednosti. Zato ga bomo naložili v dogodek form_intialize, kot to počnemo pri osnovni inicializaciji kombiniranega polja.

Dvokliknite uporabniški obrazec. Odprlo se bo območje za kodiranje v Objektu uporabniškega obrazca. Zdaj v spustnem meniju na levi izberite uporabniško obliko. Nato v desnem spustnem meniju izberite inicializiraj.

Vstavljeno bo prazno podime UserForm_Initialize (). Vse, kar je napisano v tem podmeniju, bo izvedeno, preden se prikaže uporabniška oblika.

Zato tukaj napišemo inicializacijsko kodo za kombinirano polje.

Private Sub UserForm_Initialize () countries = Array ("Indija", "Nepal", "Butan", "Shree Lanka") UserForm1.ComboBox1.List = navaja End Sub 

Inicializirali smo prvo kombinirano polje. Kadar koli naložite uporabniški obrazec, bo prvi kombinirani seznam pripravljen z imeni držav.

Zdaj, da naložimo drugo kombinirano polje, moramo pogledati, katera vrednost je izbrana v prvem kombiniranem polju1 in zagnati kodo vsakič, ko kombinirano polje1 spremeni svoje vrednosti. Za to bomo uporabili dogodek Combobox_AfterUpdate.

V spustnem meniju na levi izberite combobox1. V desnem spustnem meniju izberite AfterUpdate. Lahko uporabimo tudi dogodek Sprememba, vendar se bomo v članku držali AfterUpdate.

Zdaj napišite spodnjo kodo:

Private Sub ComboBox1_AfterUpdate () Select Case 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 ") Primer" Butan ": stanja = Array (" Bumthang "," Trongsa "," Punakha "," Thimphu "," Paro ") Primer" Shree Lanka ": stanja = Array (" Galle "," Ratnapura "," Colombo "," Badulla "," Jaffna ") Konec Izberite ComboBox2.List = stanja End Sub 

Tukaj smo uporabili izjavo o izbranem primeru. Izjava o izbranem primeru je dobra, če želimo videti, katera vrednost je izbrana med številnimi vrednostmi. Tukaj sem podrobno razložil.

Za shranjevanje vrednosti, ki jo je vnesel uporabnik, uporabite gumb za oddajo. Spodnjo kodo vnesite v ukazni gumb za pošiljanje, da shranite državo in stanje, ki jih je uporabnik izbral na delovnem listu.

Zasebna podredba CommandButton1_Click () country = ComboBox1.Value State = ComboBox2.Value ThisWorkbook.Worksheets ("sheet1"). Range ("G1") = država ThisWorkbook.Worksheets ("sheet1"). Range ("H1") = State Unload Me End Sub 

Zdaj, da prikažete uporabniško obliko, vstavite gumb na delovnem listu in napišite spodnjo kodo. Lahko pa uporabite preprost modul za prikaz oblike uporabnika.

Sub load_userform () UserForm 1. Show End Sub 

Zdaj zaženite kodo load_userform.

Kako deluje?

Ko zaženete podpodročje s kodo userform.show, VBA izvede dogodke userform_initialize takoj po zagonu ukaza userform.show. V dogodku userform_intialize smo inicializirali prvo kombinirano polje s seznamom držav. Nato se obrazec prikaže uporabniku.

Zdaj, ko uporabnik izbere katero koli vrednost iz prvega kombiniranega polja, se zažene dogodek combobox1_AfterUpdate. Ta dogodek vsebuje kodo za preverjanje, katero vrednost je izbral uporabnik v combobox1, in na podlagi te vrednosti nastavi matriko stanj in inicializira vrednosti combobox2 z matrico stanj.

Torej ja, fantje, tako ustvarite kaskadno kombinirano polje v uporabniški obliki VBA. Upam, da sem bil dovolj razložljiv in da je članek služil svojemu namenu. Če dvomite o tem članku ali kateri koli temi VBA, me vprašajte v spodnjem razdelku za komentarje.

Uvod v uporabniške obrazce programa Excel VBA| Pojasnil bom, kako ustvariti obrazec v Excelu, kako uporabljati orodje VBA, kako ravnati z vnosi uporabnikov in na koncu kako shraniti vnose uporabnikov. Te teme bomo obravnavali z enim primerom in vodnikom po korakih.

Spremenljivke VBA v Excelu| VBA pomeni Visual Basic for Applications. To je programski jezik podjetja Microsoft. Uporablja se z aplikacijami Microsoft Office, kot so MSExcel, MS-Word in MS-Access, medtem ko so spremenljivke VBA posebne ključne besede.

Spremenljivi obseg programa Excel VBA| V vseh programskih jezikih imamo spremenljivke dostopa, ki določajo, od kod je mogoče dostopati do določene spremenljivke. Excel VBA ni izjema. VBA ima tudi specifikatorje obsega.

Argumenti ByRef in ByVal | Ko se argument posreduje kot argument ByRef na drugo pod -funkcijo ali funkcijo, se pošlje sklic na dejansko spremenljivko. Vse spremembe v kopiji spremenljivke se odražajo v izvirnem argumentu.

Brisanje listov brez potrditvenih pozivov z uporabo VBA v programu Microsoft Excel | Ker z VBA brišete liste, veste, kaj počnete. Excelu želite povedati, naj ne prikaže tega opozorila, in izbrišite prekleti list.

Dodajte in shranite nov delovni zvezek z uporabo VBA v programu Microsoft Excel 2016| V tej kodi smo najprej ustvarili sklic na predmet delovnega zvezka. In potem smo ga inicializirali z novim objektom delovnega zvezka. Prednost tega pristopa je, da lahko preprosto delate na tem novem delovnem zvezku. Tako kot shranjevanje, zapiranje, brisanje itd

Prikaz sporočila v vrstici stanja Excel VBA| Vrstica stanja v Excelu se lahko uporablja kot monitor kode. Ko je vaša koda VBA dolga in z VBA opravljate več nalog, pogosto onemogočite posodobitev zaslona, ​​tako da zaslon ne utripa.

Izklopite opozorilna sporočila z uporabo VBA v programu Microsoft Excel 2016| Ta koda ne samo onemogoči opozorila VBA, ampak tudi poveča časovno učinkovitost kode. Poglejmo, kako.

Priljubljeni članki:

50 bližnjic v Excelu za večjo produktivnost | Poskrbite, da bo vaša naloga hitrejša. S temi 50 bližnjicami boste še hitreje delali v Excelu.

Funkcija VLOOKUP v Excelu | To je ena najpogosteje uporabljenih in priljubljenih funkcij programa Excel, ki se uporablja za iskanje vrednosti iz različnih obsegov in listov.

COUNTIF v Excelu 2016 | Štejte vrednosti s pogoji s to neverjetno funkcijo. Za štetje določenih vrednosti vam ni treba filtrirati podatkov. Funkcija Countif je bistvena za pripravo vaše armaturne plošče.

Kako uporabljati funkcijo SUMIF v Excelu | To je še ena bistvena funkcija armaturne plošče. To vam pomaga povzeti vrednosti za posebne pogoje.