Šiame straipsnyje sužinosite VBA vartotojo formų pagrindus. Aš paaiškinsiu, kaip sukurti formą „Excel“, kaip naudoti VBA įrankių rinkinį, kaip tvarkyti vartotojo įvestis ir galiausiai, kaip išsaugoti vartotojo įvestis. Mes panagrinėsime šią temą naudodamiesi vienu pavyzdžiu ir žingsnis po žingsnio vadovu. Jei skaitote tai, manau, kad žinote „Excel VBA“ pagrindus.
Nedelsdami pradėkime.
Sukurkite „Excel“ investicijų formą ir saugokite įrašą
Pradėsime nuo vartotojo formos kūrimo. Šioje vartotojo formoje turėsime vieną vardo teksto laukelį, vieną pagal amžių, vieną investicijų sumai ir porą radijo mygtukų pagal lytį. Pradėkime.
Sukurkite vartotojo formą
- „Excel“ atidarykite „visual visual“ redaktorių naudodami ALT+F11 spartųjį klavišą. Projekto laukelyje dešiniuoju pelės mygtuku spustelėkite VBAProject(jūsų byla). In Įdėti variantas, pasirinkite UserForm.
- Iškart bus sukurtas naujas aplankas ir jūsų vartotojo forma bus surasta. Į šį aplanką bus įtraukta visa šio projekto vartotojo forma.
- Pakeiskite formos pavadinimą į „InvestmentForm“ turto dėžutė.
- Pridėkite elementų prie formos: Aukščiau esančiame paveikslėlyje jau pridėjau elementų (etikečių, teksto laukelio, komandų mygtuko). Tačiau nauja vartotojo forma yra visiškai tuščia. Jei norite pridėti elementų prie formos, turite naudoti įrankių dėžę. Jei nematote įrankių rinkinio, gaukite jį iš vaizdas skirtuką.
- Pavadinimo elementai: Teksto laukelis, etiketės, mygtukai ir kt. Yra elementai. Ir norėdami juos naudoti VBA kode, turime suteikti jiems pavadinimus. Mes naudojame nuosavybės langą, kad pakeistume jų pavadinimą.
- Pasirinkite elementą. Čia aš renkuosi pavadinimo teksto laukelį. Eikite į nuosavybės langą ir pakeiskite pavadinimą į „NameBox“. Atlikite tą patį su kiekvienu elementu, kurį ketinate naudoti. (jums nereikia įvardinti etikečių, nebent norite, kad jos būtų paspaudžiamos.)
Nuosavybės langelis rodomas projekto tyrinėtojo apatiniame kairiajame kampe. Jei nematote, eikite peržiūrėti ir spustelėkite Ypatybių langas. Mes jį naudosime daug, todėl įsitikinkite, kad jis yra. Jis naudojamas formuojant, pavadinant ir pritaikant formas.
Pridėkite etikečių naudodami aprašomųjų pavadinimų įrankių rinkinį. Pridėkite vartotojo įvesties teksto laukelį.
Pridėkite du radijo mygtukus ir pavadinkite juos Vyras ir Moteris.
Aš juos panaudojau rėmeliu, bet tai nėra būtina.
Pridėti komandų mygtukus Pateikti ir atšaukti atlikti operaciją su nurodytu įėjimu.
Aš pervadinau elementą, kaip nurodyta žemiau esančioje lentelėje, ir nurodysiu šiuos pavadinimus. Galite turėti skirtingus pavadinimus. Tiesiog pakeiskite šiuos vardus savo vardu. Tai yra VBA pavadinimai (kodo pavadinimas), kurie bus naudojami kode. Jie nebus atspindėti formoje.
Tekstas, kurį galite pamatyti etiketėse ir mygtukuose, yra „Antraštės“. Jei norite, elemento pavadinimas ir antraštė gali būti vienodi.
Elementas | Pervardyti |
Pavadinimo teksto laukelis | NameBox |
Amžiaus teksto laukelis | „AgeBox“ |
Vyrų pasirinkimo mygtukas | „MaleOption“ |
Moteriško pasirinkimo mygtukas | FemaleOption |
Investavimo teksto laukelis | „InvestBox“ |
Pateikti komandos mygtuką | Pateikimo mygtukas |
Komandos atšaukimo mygtukas | Mygtukas „Atšaukti“ |
- Rodyti vartotojo formą vartotojui: Dabar forma paruošta, parodykime ją vartotojui. Bet palauk, kaip man tai padaryti. Darbalapyje nėra galimybės skambinti vartotojo formai.
- Ar darbalapyje eiti į kūrėjų skirtuką? Įdėti? Mygtukas (formos valdymas). Pervardykite atvirą formą.
- Dešiniuoju pelės mygtuku spustelėkite jį. Spustelėkite priskirti makrokomandą, tada spustelėkite naują.
- Pogrupis bus sukurtas nedelsiant. Dabar pridėkite šią eilutę prie to poskyrio.
Tiesą sakant, vartotojo formą reikia suaktyvinti. To negalima parodyti savaime. Galite naudoti komandų mygtuką, paprogramę ar įvykį, kad forma pasirodytų ekrane.
Čia aš naudoju komandos mygtuką, norėdamas suaktyvinti vartotojo formą.
Sub Open_Form () 'atidarymo forma InvestmentForm.Show End Sub
Padaryta. Grįžkite į tą lapą ir spustelėkite mygtuką. Pasirodys vartotojo forma.
- Užpildykite lapą naudodami VBA vartotojo formą: Kai spustelėjome komandos mygtuką (atidaryti formą), forma pasirodo. Dabar galite užpildyti formą. Bet kai spustelime mygtuką „Pateikti“, duomenys turėjo būti įvesti į šį lapą, bet nieko neįvyksta.
Nes mes tam neparašėme jokios vba instrukcijos. Turime saugoti vartotojo formos duomenis lape.
- Grįžkite į VBA ir dukart spustelėkite Pateikti mygtuką. Naujas antrinis elementas bus sukurtas automatiškai. Šis antrinis elementas yra įterptas į formą ir jo nerandate jokiame modulyje. Tai tas pats kiekvienam formos elementui.
- Parašykite šį vba kodą tame poskyryje.
Privatus pateikimas SubmitButton_Click () Sheet1.Activate 'gauti pirmąją tuščią eilutę lape (apie tai skaitykite čia) ) "inicijuoti kiekvieną langelį su duomenimis firstEmptyRow.Offset (0, 0) .Value = nameBox.Value" first cell firstEmptyRow.Offset (0, 1) .Value = AgeBox.Value "pirmasis langelis į dešinę firstEmptyRow.Offset (0, 3) .Value = InvestBox.Value 'trečias langelis į dešinę' tikrinimo radijo mygtukas If MaleOption.Value = True Tada firstEmptyRow.Offset (0, 2) .Value = "Vyriškas" antrasis langelis dešinėje Else firstEmptyRow.Offset ( 0, 2.
Aukščiau pateiktas VBA kodo fragmentas paleidžiamas spustelėjus mygtuką Pateikti. Ji suranda pirmąją tuščią lapo eilutę ir užpildo ją formoje pateiktomis vertėmis. Galų gale jis uždaro formą naudodami komandą „Iškrauti mane“.
- Norėdami uždaryti formą, naudokite komandą Atšaukti. Kol kas atšaukimo mygtukas yra nenaudingas. Tai nieko nedaro. Jei norite nutraukti įvestį, galite naudoti atšaukimo mygtuką. Tuo atveju:
Dukart spustelėkite atšaukimo komandos mygtuką VBA redaktoriuje. Bus sukurtas naujas poskyris. Tiesiog parašykite šią kodo eilutę, kad uždarytumėte vartotojo formą.
Private Sub CancelButton_Click () 'Uždarymo forma „Unload Me End Sub“
Galiausiai formos kodas atrodys taip.
Štai ir viskas. Taip naudojate „Excel vba userform“, kad gautumėte naudotojų indėlį. Šiame straipsnyje mes tik ištyrėme pagrindinį vartotojo formos naudojimą, kad galėtumėte su ja susipažinti. Tai paprasta, jei turite žinių apie pagrindines vba.
Būsimuose straipsniuose mes išnagrinėsime pažangesnes „vba“ naudotojų formų funkcijas „Excel“. Mes sukursime „userform“ „Excel“, kad padarytume daug daugiau. Mes ištirsime įvairius įrankius ir elementus, prieinamus „vba userform“. Iki tol tai praktikuok. Jei norite, galite atsisiųsti šį failą kaip nuorodą.
Taigi taip, vaikinai, tai buvo nedidelė ir paprasta vartotojo formos pamoka. Tikiuosi, kad tai buvo išradinga. Leiskite man žinoti, jei turite kokių nors abejonių dėl to, praneškite man toliau esančiame komentarų skyriuje.
susiję straipsniai
Pakeiskite kelių „UserForm“ valdiklių vertę/turinį naudodami „Excel“ VBA
Naudodami „VBA“ programoje „Excel“ neleiskite vartotojo formai užsidaryti, kai naudotojas spustelės x mygtuką
Grąžinkite langelius, į kuriuos nurodė vartotojas, naudodamas „RefEdit“ valdiklį „Userform“ programoje „Excel“
Populiarūs straipsniai:
„VLOOKUP“ funkcija „Excel“
COUNTIF „Excel 2016“
Kaip naudoti „SUMIF“ funkciją „Excel“