Kaip naudoti VBA valdiklius „UserForms“

Šiame straipsnyje bus parodyta, kaip naudoti valdiklius „UserForms“ programoje „Excel VBA“.

VBA turi galimybę kurti formas, su kuriomis vartotojas gali sąveikauti, pavyzdžiui, sąskaitų faktūrų formas arba kontaktinę informaciją. Formoje gali būti įvairių formų valdiklių, pvz., Teksto laukų, sudėtinių laukelių, sąrašų laukų ir komandų mygtukų. Šiame straipsnyje apžvelgsime populiariausius valdiklius, naudojamus naudotojo formose, būtent teksto laukelius, etiketes, kombinuotus laukelius, sąrašų laukelius, žymimuosius laukelius ir parinkčių grupes.

Norėdami sužinoti daugiau apie įmontuotas vartotojo formas ir tinkintų vartotojo formų kūrimą „Excel“, spustelėkite čia.

„UserForm“ kūrimas

Norėdami sukurti „UserForm“ „Excel VBA“, pirmiausia turime atidaryti VBE redaktorius.

Norėdami į savo kodą įterpti naują vartotojo formą, pasirinkite UserForm parinktį iš Įterpti meniu.

Ekrane pasirodys nauja vartotojo forma Projektų tyrinėtojas ir bus rodomas dešinėje esančiame kodo lange.

Galite pervadinti savo formą naudodami Savybės dėžė. Tai turėtų pasirodyti po jūsų Projektų tyrinėtojas.

Jei matote, paspauskite F4 arba spustelėkite Peržiūrėti, Ypatybių langas.

Spustelėkite vardas nuosavybę ir pervardykite savo formą.

Dabar galime pradėti pildyti savo formą valdikliais - teksto laukelio valdiklis yra populiariausias valdiklis kartu su etikečių valdymo ir komandų mygtuku.

Norėdami užpildyti formą valdikliais, turime įjungti įrankių dėžę.

Viduje konors Meniu, pasirinkite Rodinys> Įrankių dėžė.

Teksto laukelio kūrimas

Norėdami savo formoje sukurti teksto laukelį, įrankių juostoje pasirinkite teksto laukelio valdiklį.

Vilkite formos langelį formoje pele, laikydami nuspaudę kairįjį mygtuką, tada atleiskite pelės mygtuką.

Kadangi tai yra pirmasis mūsų sukurtas teksto laukelis, jis bus pavadintas „TextBox1“. Kaip ir formą, galite naudoti langą Ypatybės, norėdami pervardyti teksto lauką.

Savo formoje galime toliau kurti tiek teksto laukelių, kiek mums reikia, ir pavadinti juos atitinkamai, naudodami ypatybę „Name“ ypatybę Name.

Etiketės valdiklio kūrimas

Etiketės valdiklis nurodo, ką teksto laukelis bus naudojamas laikyti. Vilkiate formą taip pat, kaip ir teksto laukelį, tada etikečių valdiklyje galite įvesti reikiamą tekstą, pvz .: Vardas, kaip parodyta žemiau.

Kaip ir teksto laukeliuose, toliau kurkite tiek, kiek reikia formoje.

Sudėtinio langelio valdiklio kūrimas

Sudėtinis langelis (arba išskleidžiamasis laukas) leidžia vartotojui pasirinkti iš verčių sąrašo. Norėdami sukurti kombinuotąjį laukelį, spustelėkite valdiklio „Combo Box“ įrankių dėžutę, tada spustelėkite ir vilkite sudėtinį laukelį savo formoje.

Tinkamai pavadinkite kombinuotąjį langelį.

Vertių pridėjimas prie kombinuoto laukelio

Norėdami jį užpildyti vertėmis, turime koduoti į Inicijuoti vartotojo formos objekto metodas.

Norėdami patekti į kodą už formos (CBF), dukart spustelėkite formą arba spustelėkite kodo mygtuką „Project Explorer“, kad perjungtumėte į kodo rodinį.

Išskleidžiamajame kairiajame sąraše pasirinkite Vartotojo forma, tada dešiniajame išskleidžiamajame sąraše pasirinkite Inicijuoti.

Norėdami užpildyti išskleidžiamąjį lauką, įveskite šį kodą antriniuose ir galiniuose poskyriuose:

1234 Me.cboState.AddItem "Alabama"Me.cboState.AddItem "Aliaska"Me.cboState.AddItem "Arizona"Me.cboState.AddItem "Arkanzasas"

Žinoma, mes galime papildyti sąrašą su kitomis JAV valstijomis!

Jei norite paleisti vartotojo formą, kad pamatytumėte sąrašą kaip veikiantį, 1) grįžkite į formos rodinį, tada 2) įrankių juostoje spustelėkite Bėgti mygtuką.

Norėdami pamatyti sąrašą, spustelėkite išskleidžiamąją rodyklę.

Mes taip pat galime naudoti diapazoną „Excel“, kad užpildytume sudėtinį laukelį.

123456 Privatus antrinis vartotojasForm_Initialize ()Dim rng As RangeKiekvienam diapazonui („A1: A50“)Me.cboState.AddItem rng.ValueKitas rngPabaiga Sub

Tai paims visas reikšmes, saugomas diapazone nuo A1 iki A50, ir atitinkamai užpildys išskleidžiamąjį sąrašą.

Sąrašo laukelio valdiklio kūrimas

Sąrašo laukelio valdiklis veikia taip pat, kaip valdiklis „Sudėtinis laukas“, tačiau leidžia matyti visas formos parinktis sąrašo formatu.

Įrankių juostoje pasirinkite sąrašo laukelio valdiklį ir vilkite, kad sukurtumėte sąrašo laukelį savo formoje.

Pavargote ieškoti VBA kodo pavyzdžių? Išbandykite „AutoMacro“!

Vertių pridėjimas prie sąrašo laukelio

Formos įvykyje Inicijuoti įveskite šį kodą:

123456 Privatus antrinis vartotojasForm_Initialize ()Dim rng As RangeKiekvienam diapazonui („A1: A50“)Me.lstState.AddItem rng.ValueKitas rngPabaiga Sub

Kai vykdysime formą, sąrašo laukelis bus parodytas, kaip parodyta paveikslėlyje žemiau:

Žymės langelio valdiklio kūrimas

Žymės langeliai leidžia vartotojui pažymėti parinktį arba panaikinti jos žymėjimą.

Pasirinkite žymės langelio valdiklį, tada spustelėkite norimoje formoje esančią formą.

Ypatybių lange pakeiskite žymės langelio antraštę ir pavadinimą.

Parinkčių grupės valdiklio su parinkčių mygtukais sukūrimas

Parinkčių grupė leidžia vartotojui pasirinkti iš daugybės galimų parinkčių. Pirmasis žingsnis kuriant parinkčių grupę yra pridėti rėmelio valdiklį prie formos, o tada pridėti parinkčių mygtukus pridėtame kadre. Taip užtikrindami, kad vykdydami formą vienu metu gali būti pasirinktas tik vienas iš parinkčių mygtukų rėmelyje.

Įrankių juostoje pasirinkite „Frame“ valdiklį ir vilkite, kad sukurtumėte formos rėmelį.

Įrankių juostoje pasirinkite parinkties mygtuko valdiklį, tada spustelėkite ĮRENGTU rėmeliu, kad pridėtumėte parinkties mygtuką į rėmelį. Pakartokite pagal poreikį.

Spustelėkite rėmelį ir 1) pakeiskite rėmelio pavadinimą ir antraštę. Tada 2) spustelėkite kiekvieną parinkčių mygtuką ir pakeiskite antraštę.

Komandos mygtuko, skirto išeiti iš formos, sukūrimas

Šiame etape vienintelis būdas uždaryti formą yra naudoti uždarymo mygtuką dešiniajame formos valdymo juostos kampe. Efektyvesnis būdas išeiti iš formos, kurią mes galime labiau kontroliuoti, yra formos formos Išėjimo mygtuko sukūrimas. Tai atliekama naudojant komandų mygtukų valdiklį įrankių dėžėje.

Pasirinkite komandų mygtuko valdiklį, tada spustelėkite ir vilkite savo formą, kad sukurtumėte mygtuką.

Naudodami antraščių ypatybę, pakeiskite komandos mygtuko antraštę į Gerai, o greitintuvą - į „O“

„Accelerator“ tikslas yra, kad vartotojas šiuo atveju naudotų klaviatūrą mygtukui suaktyvinti Alt+O. suaktyvintų mygtuką.

Puikus produktas. „AutoMacro“ ne tik rašo jūsų kodą, bet ir moko jums einant! " - Tony, JK

Sužinokite daugiau

Perskaitykite mūsų 900+ apžvalgas

Kodo pridėjimas prie komandų mygtuko

Kad komandų mygtukas veiktų, už jo turime pridėti kodą, kad spustelėjus mygtuką, kodas būtų paleistas. Tai vadinama mygtuko paspaudimo įvykiu.

Norėdami patekti į paspaudimo įvykį, formos dizaino rodinyje dukart spustelėkite mygtuką.

1) Paspaudimo įvykis bus sukurtas automatiškai, nes šis įvykis dažniausiai naudojamas komandų mygtukams.

2) Jei spustelėtume dešinėje pusėje esantį išskleidžiamąjį laukelį Procedūra, pamatytume visų įvykių metodų, kuriuos gali pasiekti komandos mygtukas, sąrašą. Šis sąrašas keičiasi atsižvelgiant į tai, kokio tipo valdiklį sukūrėme, nes įvairių tipų valdikliams yra skirtingi įvykiai.

Įveskite šį kodą į komandos mygtuko paspaudimo įvykį.

123456789101112131415 Privatus antrinis cmdOK_Click ()Diapazonas ("E1") = Me.txtPavadinimasDiapazonas ("E2") = Me.txtPavardėDiapazonas ("E3") = Me.txtCellPhoneDiapazonas ("E4") = Me.cboStateJei Me.ckContactInfo = Tiesa tadaDiapazonas ("E5") = "SMS leidžiama"KitasDiapazonas ("E5") = "SMS neleidžiama"Pabaiga JeiJei Me.opt1.Value = True Tada diapazonas ("E6") = Me.opt1.CaptionJei Me.opt2.Value = Tiesa, tada diapazonas ("E6") = Me.opt2.CaptionJei Me.opt3.Value = Tiesa, tada diapazonas ("E6") = Me.opt3.CaptionIškrauti manePabaiga Sub

Tada galime paleisti formą, užpildyti teksto laukelius ir pasirinkti iš išskleidžiamojo sąrašo. Tada spustelėkite Gerai, kad įvestumėte informaciją į „Excel“.

wave wave wave wave wave