Selles artiklis saate teada VBA kasutajate vormide põhitõdesid. Selgitan, kuidas Excelis vormi luua, kuidas VBA tööriistakasti kasutada, kuidas kasutaja sisendeid käsitseda ja lõpuks, kuidas kasutaja sisendeid salvestada. Vaatame need teemad läbi ühe näite ja samm -sammult juhise abil. Kui loete seda, siis eeldan, et teate Exceli VBA põhitõdesid.
Ilma edasise viivituseta alustame.
Looge Excelisse investeerimisvorm ja salvestage rekord
Alustame kasutajavormi kujundamisega. Selles kasutajavormis on meil üks tekstikast nime, üks vanuse, üks investeeringusumma ja paar raadionuppu soo jaoks. Alustame seda.
Kujundage kasutajavorm
- Avage Excelis visuaalne põhiredaktor, kasutades otseteed ALT+F11. Paremklõpsake projektikastis VBAProjekt(teie fail). Sisse sisestada variant, vali UserForm.
- Kohe luuakse uus kaust ja teie kasutajavorm leitakse. Sellesse kausta lisatakse kogu selle projekti kasutajavorm.
- Muutke vormi nimeks InvestmentForm kinnisvara kast.
- Lisage vormile elemente: Ülaloleval pildil olen juba lisanud elemente (sildid, tekstikast, käsunupp). Uus kasutajavorm on aga täiesti tühi. Vormile elementide lisamiseks peate kasutama tööriistakasti. Kui te tööriistakasti ei näe, hankige see vaade vahekaart.
- Nime elemendid: Tekstikast, sildid, nupud jne on kõik elemendid. Ja selleks, et neid VBA -koodis kasutada, peame neile nimed andma. Kasutame nende nime muutmiseks varaakent.
- Valige element. Siin valin nime tekstikasti. Minge varaaknasse ja muutke nimi "NameBox”. Tehke sama iga elemendi puhul, mida kavatsete kasutada. (te ei pea silte nimetama, kui te ei soovi, et need oleksid klõpsatavad.)
Atribuutide kast on näidatud projektiuurija vasakus alanurgas. Kui te seda ei näe, minge vaatamiseks ja klõpsake nuppu Atribuutide aken. Me kasutame seda palju, seega veenduge, et see oleks olemas. Seda kasutatakse vormide kujundamiseks, nimetamiseks ja kohandamiseks.
Lisage kirjeldavate nimede tööriistakasti abil silte. Lisage kasutaja sisendite jaoks tekstikast.
Lisage kaks raadionuppu ja pange neile nimi Mees ja Naine.
Olen kasutanud raami nende kapseldamiseks, kuid see pole vajalik.
Lisage käsunupud Esita ja tühistada toimingu tegemiseks antud sisendiga.
Ma nimetasin elemendi ümber alljärgnevas tabelis ja kasutan neile viitamiseks neid nimesid. Teil võib olla erinevaid nimesid. Lihtsalt asendage need nimed oma nimega. Need on VBA nimed (koodnimi), mida kasutatakse koodis. Need ei kajastu vormil.
Siltidel ja nuppudel nähtav tekst on „Subtiitrid”. Elemendi nimi ja pealdis võivad soovi korral olla samad.
Element | Nimeta ümber |
Nime tekstikast | NameBox |
Vanuse tekstikast | AgeBox |
Meesvaliku nupp | MaleOption |
Naissoost valikunupp | FemaleOption |
Investeeringute tekstikast | InvestBox |
Käsu esitamise nupp | SubmitButton |
Tühista käsunupp | Tühista nupp |
- Kuva kasutajavorm kasutajale: vorm on nüüd valmis, näitame seda kasutajale. Aga oota, kuidas ma seda teen. Töölehel pole võimalust kasutajavormile helistada.
- Kas minna töölehel vahekaardile Arendajad? Kas sisestada? Nupp (vormi juhtimine). Nimeta see ümber avatud vormiks.
- Paremklõpsake seda. Klõpsake käsku Määra makro ja seejärel nuppu Uus.
- Kohe luuakse alamosa. Nüüd lisage see rida sellele alamjaotisele.
Tegelikult vajab kasutajavorm päästikut. Seda ei saa ise näidata. Vormi kuvamiseks ekraanil saate kasutada käsunuppu, alamprogrammi või sündmust.
Siin kasutan kasutajavormi käivitamiseks käsunuppu.
Sub Open_Form () 'Avamisvorm InvestmentForm.Show End Sub
See on tehtud. Minge tagasi sellele lehele ja klõpsake nuppu. Ilmub kasutajavorm.
- Täitke leht VBA kasutajavormi abil: Kui klõpsame käsunuppu (ava vorm), ilmub vorm. Nüüd saate vormi täita. Aga kui klõpsame nupul Esita, oleks pidanud andmed sellele lehele sisestama, kuid midagi ei juhtu.
Sest me pole selleks ühtegi vba juhist kirjutanud. Peame salvestama kasutajavormi andmed lehele.
- Minge tagasi VBA -sse ja topeltklõpsake nuppu Esita nuppu. Uus alamosa luuakse automaatselt. See alamosa on vormi manustatud ja te ei leia seda ühestki moodulist. See on sama iga vormielemendi puhul.
- Kirjutage see alamjaotisse see vba -kood.
Private Sub SubmitButton_Click () Sheet1.Activate 'hangi lehe esimene tühi rida (loe selle kohta siit) lstrow = Lahtrid (Rows.Count, 1) .End (xlUp) .Rida Määra esimene ) 'initsialiseeri iga lahter andmetega firstEmptyRow.Offset (0, 0) .Value = nameBox.Value' esimene lahter firstEmptyRow.Offset (0, 1) .Value = AgeBox.Value 'esimene lahter paremale firstEmptyRow.Offset (0, 3) .Value = InvestBox.Value 'kolmas lahter paremale' kontrollimise raadionupp If MaleOption.Value = True Siis firstEmptyRow.Offset (0, 2) .Value = "Mees" 'teine lahter paremal Else firstEmptyRow.Offset ( 0, 2) .Väärtus = "Naine" teine lahter paremal Lõpp If 'Sulgemisvorm Unload Me End Sub
Ülaltoodud VBA koodilõik käivitub nupule Esita klõpsamisel. See leiab lehe esimese tühja rea ja täidab selle vormis esitatud väärtustega. Ja lõpuks sulgeb see vormi, kasutades käsku “Unload Me”.
- Vormi sulgemiseks kasutage käsku Tühista. Praegu on tühistamisnupp kasutu. See ei tee midagi. Kui soovite sisestuse katkestada, võite kasutada tühistamisnuppu. Sellisel juhul:
Topeltklõpsake VBA redaktoris käsu tühistamise nuppu. Luuakse uus alam. Kasutajavormi sulgemiseks kirjutage lihtsalt see koodirida.
Private Sub CancelButton_Click () 'Sulgemisvorm Unload Me End Sub
Lõpuks näeb vormikood välja selline.
Ja see ongi kõik. Nii kasutate kasutajate sisendi saamiseks Exceli vba userformi. Selles artiklis uurisime just kasutajaliigi põhikasutust, et saaksite sellega tutvuda. See on lihtne, kui teil on vba põhiteadmised.
Tulevastes artiklites uurime Excelis vba kasutajavormide täpsemaid funktsioone. Loome Excelis kasutajavormi, et teha palju rohkem. Uurime erinevaid vba kasutajavormi jaoks saadaolevaid tööriistu ja elemente. Seni harjutage seda. Soovi korral saate selle faili viitamiseks alla laadida.
Nii et jah, poisid, see oli väike ja lihtne kasutajavormi õpetus. Loodan, et see oli leidlik. Andke mulle teada, kui teil on selles osas kahtlusi, andke mulle sellest teada allpool olevas kommentaaride jaotises.
seotud artiklid
Muutke Exceli VBA abil mitme UserForm-juhtelemendi väärtust/sisu
Vältige kasutajaliigi sulgemist, kui kasutaja klõpsab x-nupul, kasutades Excelis VBA-d
Tagastage lahtrid, millele kasutaja viitas, kasutades Exceli kasutajavormi RefEdit juhtelementi
Populaarsed artiklid:
Funktsioon VLOOKUP Excelis
COUNTIF Excelis 2016
Funktsiooni SUMIF kasutamine Excelis