I denne artikel lærer du det grundlæggende i VBA -brugerformer. Jeg vil forklare, hvordan man opretter en formular i excel, hvordan man bruger VBA -værktøjskasse, hvordan man håndterer brugerinput og endelig hvordan man gemmer brugerinput. Vi vil gennemgå disse emner ved hjælp af et eksempel og en trinvis vejledning. Hvis du læser dette, antager jeg, at du kender det grundlæggende i Excel VBA.
Uden yderligere forsinkelse, lad os komme i gang.
Opret en formular til investering i Excel og Store Record
Vi starter med at designe brugerformularen. I denne brugerform har vi en tekstboks til navn, en til alder, en til investeringsbeløb og et par radioknapper til køn. Lad os starte det.
Design brugerformen
- Åbn den visuelle grundlæggende editor i excel ved hjælp af ALT+F11 genvej. I projektboksen skal du højreklikke på VBAProjekt(din fil). I indsæt valgmulighed, vælg UserForm.
- Umiddelbart vil der blive oprettet en ny mappe, og din brugerform vil blive fundet deres. Al brugerform for dette projekt tilføjes i denne mappe.
- Skift navn på formular til InvestmentForm i ejendomsboks.
- Tilføj elementer til formularen: I billedet ovenfor har jeg allerede tilføjet elementer (etiketter, tekstboks, kommandoknap). Men en ny brugerformular er helt blank. Du skal bruge værktøjskasse til at tilføje elementer til din formular. Hvis du ikke kan se værktøjskassen, skal du hente den fra udsigt fane.
- Navneelementer: Tekstboksen, etiketter, knapper osv. Er alle elementer. Og for at kunne bruge dem i VBA -kode skal vi give dem navne. Vi bruger ejendomsvindue til at ændre deres navn.
- Vælg elementet. Her vælger jeg tekstboksen til navn. Gå til ejendomsvinduet, og skift navnet til "NameBox”. Gør det samme for hvert element, du skal bruge. (du behøver ikke at navngive etiketter, medmindre du vil have, at de skal være klikbare.)
Ejendomsboksen vises nederst til venstre i projektudforskeren. Hvis du ikke kan se det, skal du gå til visning og klikke på Egenskaber vindue. Vi kommer til at bruge det meget, så sørg for at det er der. Det bruges til styling, navngivning og tilpasning af formularer.
Tilføj etiketter ved hjælp af værktøjskasse til beskrivende navne. Tilføj tekstboks til brugerindgange.
Tilføj to alternativknapper, og navngiv dem Mand og Kvinde.
Jeg har brugt en ramme til at indkapsle dem, men det er ikke nødvendigt.
Tilføj kommandoknapper Indsend og afbestille at udføre operation på givet input.
Jeg har omdøbt elementet til nedenstående tabel, og jeg vil bruge disse navne til at henvise til dem. Du kan have forskellige navne. Bare erstat disse navne med dit navn. Disse er VBA -navne (kodenavn), der vil blive brugt i kode. De vil ikke blive afspejlet i formen.
Den tekst, du kan se på etiketter og knapper, er "billedtekster". Elementets navn og billedtekst kan være det samme, hvis du vil.
Element | Omdøb |
Navn Tekstboks | NameBox |
Alders tekstboks | AgeBox |
Knap til mandlig mulighed | Mand Valg |
Kvindelig valgknap | FemaleOption |
Investeringstekstboks | InvestBox |
Send kommandoknap | Send knappen |
Annuller kommandoknap | Annuller -knap |
- Vis brugerformular til bruger: Nu er formularen klar, lad os vise den for brugeren. Men vent, hvordan gør jeg det. Der er ingen mulighed på regnearket for at kalde brugerformular.
- Gå til fanen udviklere på et regneark? Indsæt? Knap (formkontrol). Omdøb den til den åbne form.
- Højreklik på den. Klik på tildel makro, og klik derefter på ny.
- En sub vil blive oprettet med det samme. Tilføj nu denne linje til den sub.
Faktisk skal brugerformular udløses. Det kan ikke vises af sig selv. Du kan bruge en kommandoknap, en underrutine eller en begivenhed til at få formularen til at dukke op på skærmen.
Her vil jeg bruge en kommandoknap til at udløse brugerformular.
Sub Open_Form () 'Åbningsformular InvestmentForm.Show End Sub
Det er gjort. Gå tilbage til det ark og klik på knappen. Brugerformularen dukker op.
- Udfyld ark ved hjælp af VBA -brugerformular: Da vi klikkede på kommandoknappen (åben formular) dukker formularen op. Nu kan du udfylde formularen. Men når vi klikker på knappen Send, skulle der have været indtastet data på dette ark, men der sker ikke noget.
Fordi vi ikke har skrevet nogen vba -instruktion til det. Vi skal gemme brugerformulardata i ark.
- Gå tilbage til VBA, og dobbeltklik på Indsend knap. En ny sub oprettes automatisk. Denne sub er integreret i formularen, og du kan ikke finde den i noget modul. Dette er det samme for hvert formelement.
- Skriv denne vba -kode i den sub.
Private SubmitButton_Click () Sheet1.Activate 'get first empty row on sheet (read about it here) lstrow = Cells (Rows.Count, 1). End (xlUp) .Row Set firstEmptyRow = Range ("A" & lstrow + 1 ) 'initialiser hver celle med data firstEmptyRow.Offset (0, 0) .Value = nameBox.Value' første celle firstEmptyRow.Offset (0, 1) .Value = AgeBox.Value 'første celle til højre firstEmptyRow.Offset (0, 3) .Value = InvestBox.Value 'tredje celle til højre' kontrolknapp Hvis MaleOption.Value = True Then FirstEmptyRow.Offset (0, 2) .Value = "Male" 'anden celle til højre Else firstEmptyRow.Offset ( 0, 2) .Value = "Kvinde" 'anden celle til højre Ende Hvis' Afslutningsform Aflæs mig Afslut Sub
Ovenstående uddrag af VBA -kode kører, når der klikkes på send -knappen. Den finder den første tomme række på arket og fylder den med værdier i form. Og i sidste ende lukker det formularen ved at bruge kommandoen "Unload Me".
- Brug kommandoen Annuller for at lukke formularen. For nu er annulleringsknappen ubrugelig. Det gør ingenting. Hvis du vil afbryde input, kan du bruge knappen Annuller. I det tilfælde:
Dobbeltklik på knappen Annuller kommando i VBA -editor. En ny sub vil blive oprettet. Bare skriv denne kodelinje for at lukke brugerformularen.
Privat sub AnnullerButton_Click () 'Lukningsformular Aflad mig Slut Sub
Endelig vil formkoden se sådan ud.
Og det er det. Sådan bruger du excel vba -brugerform til at få input fra brugere. I denne artikel har vi lige undersøgt den grundlæggende brug af brugerform, så du bliver fortrolig med det. Det er enkelt, hvis du har kendskab til grundlæggende vba.
I fremtidige artikler vil vi undersøge mere avancerede funktioner i vba -brugerformer i Excel. Vi vil oprette brugerform i excel for at gøre meget mere. Vi vil undersøge forskellige værktøjer og elementer, der er tilgængelige for vba -brugerform. Indtil da øve dette. Du kan downloade denne fil til reference, hvis du vil.
Så ja fyre, dette var en lille og enkel brugerformsundervisning. Jeg håber, det var ressourcestærkt. Lad mig vide, hvis du er i tvivl om dette, lad mig vide det i kommentarfeltet herunder.
relaterede artikler
Rediger værdien/indholdet af flere UserForm-kontroller ved hjælp af VBA i Excel
Undgå, at en brugerformular lukker, når brugeren klikker på x-knappen ved hjælp af VBA i Excel
Returner de celler, der refereres til af brugeren ved hjælp af RefEdit -kontrol af brugerformularen i Excel
Populære artikler:
VLOOKUP -funktionen i Excel
COUNTIF i Excel 2016
Sådan bruges SUMIF -funktionen i Excel