Tilføj kontrolelementerne | Vis brugerformularen | Tildel makroerne | Test brugerformularen
Dette kapitel lærer dig, hvordan du opretter en Excel VBA -brugerform . Brugerformen, vi skal oprette, ser således ud:
Tilføj kontrolelementerne
For at tilføje kontrollerne til brugerformularen skal du udføre følgende trin.
1. Åbn Visual Basic Editor . Hvis Project Explorer ikke er synlig, skal du klikke på View, Project Explorer.
2. Klik på Indsæt, brugerform. Hvis Toolbox ikke vises automatisk, skal du klikke på View, Toolbox. Din skærm skal konfigureres som nedenfor.
3. Tilføj kontrolelementerne i tabellen herunder. Når dette er udført, skal resultatet være i overensstemmelse med billedet af brugerformularen vist tidligere. For eksempel kan du oprette en tekstbokskontrol ved at klikke på TextBox fra værktøjskassen. Dernæst kan du trække et tekstfelt på brugerformularen. Når du ankommer til bilrammen, skal du huske at tegne denne ramme først, før du placerer de to valgknapper i den.
4. Skift betegnelsernes navne og billedtekster i henhold til nedenstående tabel. Navne bruges i Excel VBA -koden. Billedtekster er dem, der vises på din skærm. Det er god praksis at ændre navnene på kontrollerne. Dette vil gøre din kode lettere at læse. Hvis du vil ændre navne og billedtekster på kontrollerne, skal du klikke på Vis, vinduet Egenskaber og klikke på hver kontrol.
Styring | Navn | Billedtekst |
---|---|---|
Brugerform | DinnerPlannerUserForm | Middagsplanlægger |
Tekstboks | NameTextBox | |
Tekstboks | PhoneTextBox | |
Listeboks | CityListBox | |
Kombinationsfelt | MiddagComboBox | |
Afkrydsningsfelt | DateCheckBox1 | 13. juni |
Afkrydsningsfelt | DateCheckBox2 | 20. juni |
Afkrydsningsfelt | DateCheckBox3 | 27. juni |
Ramme | CarFrame | Bil |
Valgknap | CarOption -knap 1 | Ja |
Valgknap | CarOptionButton2 | Ingen |
Tekstboks | MoneyTextBox | |
Spin -knap | MoneySpinButton | |
Kommandoknap | OK -knap | Okay |
Kommandoknap | ClearButton | Klar |
Kommandoknap | Annuller -knap | Afbestille |
7 Etiketter | Ingen grund til at ændre | Navn :, Telefonnummer :, osv. |
Bemærk: En kombinationsboks er en rulleliste, hvorfra en bruger kan vælge et element eller udfylde sit eget valg. Kun en af valgknapperne kan vælges.
Vis brugerformularen
For at vise brugerformularen skal du placere en kommandoknap på dit regneark, og tilføj følgende kodelinje:
excel, hvordan man tæller antallet af cellerPrivat SubCommandButton1_Click ()
DinnerPlannerUserForm.Show
Ende Sub
Vi skal nu oprette Sub UserForm_Initialize. Når du bruger metoden Vis til brugerformularen, udføres denne sub automatisk.
1. Åbn Visual Basic Editor .
2. I Project Explorer skal du højreklikke på DinnerPlannerUserForm og derefter klikke på Vis kode.
3. Vælg Brugerform på venstre rulleliste. Vælg Initialiser på rullelisten til højre.
4. Tilføj følgende kodelinjer:
Privat SubUserForm_Initialize ()'Tom NameTextBox
NameTextBox.Value = ''
'Tom PhoneTextBox
PhoneTextBox.Value = ''
'Tom CityListBox
CityListBox.Clear
'Udfyld CityListBox
MedCityListBox
.AddItem 'San Francisco'
.AddItem 'Oakland'
.AddItem 'Richmond'
Ende Med
'Tom middagComboBox
MiddagComboBox.Ryd
'Fyld DinnerComboBox
MedMiddagComboBox
.AddItem 'Italiensk'
.AddItem 'kinesisk'
.AddItem 'Frites and Meat'
Ende Med
'Fjern markeringen af DataCheckBoxes
DateCheckBox1.Value =Falsk
DateCheckBox2.Value =Falsk
DateCheckBox3.Value =Falsk
'Sæt ingen bil som standard
CarOptionButton2.Value =Sand
'Tom MoneyTextBox
MoneyTextBox.Value = ''
'Indstil fokus på NameTextBox
NameTextBox.SetFocus
Ende Sub
Forklaring: tekstbokse tømmes, listefelter og kombinationsfelter udfyldes, afkrydsningsfelter afmarkeres osv.
Tildel makroerne
Vi har nu oprettet den første del af brugerformularen. Selvom det allerede ser pænt ud, vil der endnu ikke ske noget, når vi klikker på kommando -knapperne på brugerformularen.
1. Åbn Visual Basic Editor .
hvordan fremhæver du en række i Excel
2. I Project Explorer skal du dobbeltklikke på DinnerPlannerUserForm.
3. Dobbeltklik på knappen Money spin.
4. Tilføj følgende kodelinje:
Privat SubMoneySpinButton_Change ()MoneyTextBox.Text = MoneySpinButton.Value
Ende Sub
Forklaring: Denne kodelinje opdaterer tekstfeltet, når du bruger spin -knappen.
5. Dobbeltklik på knappen OK.
6. Tilføj følgende kodelinjer:
Privat SubOKButton_Click ()IngentomRækkeSom Lang
'Gør Sheet1 aktivt
Ark 1.Aktiver
'Bestem tomRække
emptyRow = WorksheetFunction.CountA (Range ('A: A')) + 1
'Overfør oplysninger
Celler (emptyRow, 1) .Value = NameTextBox.Value
Celler (emptyRow, 2) .Value = PhoneTextBox.Value
Celler (emptyRow, 3) .Value = CityListBox.Value
Celler (emptyRow, 4) .Value = DinnerComboBox.Value
HvisDateCheckBox1.Value =Sand DerefterCeller (emptyRow, 5) .Value = DateCheckBox1.Caption
HvisDateCheckBox2.Value =Sand DerefterCeller (emptyRow, 5) .Value = Celler (emptyRow, 5) .Værdi & '' & DateCheckBox2.Caption
HvisDateCheckBox3.Value =Sand DerefterCeller (emptyRow, 5) .Value = Cells (emptyRow, 5) .Værdi & '' & DateCheckBox3.Caption
HvisCarOptionButton1.Value =Sand Derefter
Celler (emptyRow, 6) .Value = 'Ja'
Andet
Celler (emptyRow, 6) .Value = 'Nej'
Ende Hvis
Celler (emptyRow, 7) .Value = MoneyTextBox.Value
Ende Sub
Forklaring: Først aktiverer vi Sheet1. Dernæst bestemmer vi emptyRow. Variablen emptyRow er den første tomme række og stiger hver gang der tilføjes en post. Endelig overfører vi oplysningerne fra brugerformularen til de specifikke kolonner i emptyRow.
7. Dobbeltklik på knappen Slet.
8. Tilføj følgende kodelinje:
Privat SubClearButton_Click ()OpkaldUserForm_Initialize
Ende Sub
Forklaring: Denne kodelinje kalder Sub UserForm_Initialize, når du klikker på knappen Ryd.
9. Dobbeltklik på knappen Annuller.
10. Tilføj følgende kodelinje:
Privat SubCancelButton_Click ()Aflad mig
Ende Sub
Forklaring: Denne kodelinje lukker brugerformularen, når du klikker på knappen Annuller.
Test brugerformularen
Afslut Visual Basic Editor, indtast etiketterne vist nedenfor i række 1 og test brugerformularen.
Resultat:
Gå til næste kapitel: