Vba

Brugerform

Userform

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:

Excel VBA -brugerform





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.

Brugerform Skærmopsætning i Excel VBA

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 celler
Privat 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:

Test brugerformularen

1/11 gennemført! Lær meget mere om brugerformer>
Gå til næste kapitel: Rækkevidde



^