/ / Excel VBA Userform

Excel VBA Userform

Pievienojiet vadīklas | Parādiet lietotāja formu | Piešķiriet makro | Pārbaudiet Userform

Šajā nodaļā mācīts, kā izveidot Excel VBA Userform. Lietotāja forma, kuru mēs veidosim, izskatās šādi:

Excel VBA Userform

Pievienojiet vadīklas

Lai Userform pievienotu vadīklas, izpildiet šādas darbības.

1. Atveriet Visual Basic Editor. Ja Project Explorer nav redzams, noklikšķiniet uz Skatīt, Project Explorer.

2. Noklikšķiniet uz Ielikt, Lietotāja forma. Ja rīkjosla neparādās automātiski, noklikšķiniet uz Skatīt, rīkjoslu. Jūsu ekrāns ir jāiestata tā, kā parādīts zemāk.

Userform ekrāna iestatīšana programmā Excel VBA

3. Pievienojiet tabulā norādītās vadīklas. Kad tas ir pabeigts, rezultātam jāatbilst iepriekš redzamā lietotāja formas attēlam. Piemēram, izveidojiet teksta lodziņa vadību, noklikšķinot uz Teksta lodziņa no rīkjoslas. Tālāk jūs varat vilkt teksta lodziņu lietotāja formā. Kad ieradīsieties pie automašīnas rāmja, atcerieties, ka vispirms jāmarķē šis rāmis, pirms ievietojat divas opcijas pogas.

4 Mainiet vadības ierīču nosaukumus un parakstus saskaņā ar zemāk esošo tabulu. Vārdi tiek izmantoti Excel VBA kodā. Paraksti ir tie, kas tiek parādīti ekrānā. Laba prakse ir mainīt kontroles nosaukumus. Tas padarīs jūsu kodu vieglāk lasāmu. Lai mainītu vadības elementu nosaukumus un parakstus, noklikšķiniet uz Skatīt, rekvizītu logs un noklikšķiniet uz katras vadības pogas.

Kontrole Nosaukums Paraksts
Userform DinnerPlannerUserForm Vakariņu plānotājs
Teksta lodziņš NameTextBox
Teksta lodziņš PhoneTextBox
Saraksta lodziņš CityListBox
Combo Box DinnerComboBox
Izvēles lodziņš DateCheckBox1 Jūnijs 13
Izvēles lodziņš DateCheckBox2 20. jūnijs
Izvēles lodziņš DateCheckBox3 27. jūnijs
Rāmis CarFrame Automašīna
Opcijas poga CarOptionButton1
Opcijas poga CarOptionButton2
Teksta lodziņš MoneyTextBox
Spin Button MoneySpinButton
Komandas poga OKButton labi
Komandas poga ClearButton Skaidrs
Komandas poga AtceltButton Atcelt
7 etiķetes Nav nepieciešams mainīt Nosaukums:, tālruņa numurs, utt.

Piezīme: kombinētais lodziņš ir nolaižamais saraksts, no kura lietotājs var izvēlēties vienumu vai aizpildīt savu izvēli. Var izvēlēties tikai vienu no opciju pogām.

Parādiet lietotāja formu

Lai parādītu Userform, ievietojiet komandas pogu savā darblapā un pievienojiet šādu koda rindiņu:

Private Sub CommandButton1_Click()

DinnerPlannerUserForm.Show

End Sub

Tagad mēs izveidosim Sub UserForm_Initialize. Ja izmantojat Userform formātu Show method, šī apakšdaļa tiks automātiski izpildīta.

1. Atveriet Visual Basic Editor.

2. Projekta programmā labo pogu noklikšķiniet uz DinnerPlannerUserForm un pēc tam noklikšķiniet uz Skatīt kodu.

3. Izvēlieties Userform no kreisā nolaižamā saraksta. Izvēlieties Inicializēt labajā nolaižamajā sarakstā.

4. Pievienojiet šādas koda līnijas:

Private Sub UserForm_Initialize()

"Empty NameTextBox
NameTextBox.Value = ""

"Empty PhoneTextBox
PhoneTextBox.Value = ""

"Empty CityListBox
CityListBox.Clear

"Fill CityListBox
With CityListBox
    .AddItem "San Francisco"
    .AddItem "Oakland"
    .AddItem "Richmond"
End With

"Empty DinnerComboBox
DinnerComboBox.Clear

"Fill DinnerComboBox
With DinnerComboBox
    .AddItem "Italian"
    .AddItem "Chinese"
    .AddItem "Frites and Meat"
End With

"Uncheck DataCheckBoxes

DateCheckBox1.Value = False
DateCheckBox2.Value = False
DateCheckBox3.Value = False

"Set no car as default
CarOptionButton2.Value = True

"Empty MoneyTextBox
MoneyTextBox.Value = ""

"Set Focus on NameTextBox
NameTextBox.SetFocus

End Sub

Paskaidrojums: teksta lauki ir iztukšoti, saraksta kastes un kombinētās kastes ir aizpildītas, izvēles rūtiņas nav atzīmētas, utt.

Piešķiriet makro

Tagad mēs esam izveidojuši lietotāja formas pirmo daļu. Lai gan tas izskatās pievilcīgs jau, nekas nenotiks, kad mēs noklikšķināsim uz Userform komandpogām.

1. Atveriet Visual Basic Editor.

2. Projekta Explorer divreiz noklikšķiniet uz DinnerPlannerUserForm.

3. Dubultklikšķi uz Money spin pogas.

4. Pievienojiet šādu koda rindiņu:

Private Sub MoneySpinButton_Change()

MoneyTextBox.Text = MoneySpinButton.Value

End Sub

Paskaidrojums: šī koda rindiņa atjauno teksta lodziņu, kad izmantojat griešanās pogu.

5. Divreiz nospiediet pogu Labi.

6. Pievienojiet šādas koda līnijas:

Private Sub OKButton_Click()

Dim emptyRow As Long

"Make Sheet1 active
Sheet1.Activate

"Determine emptyRow
emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1

"Transfer information
Cells(emptyRow, 1).Value = NameTextBox.Value
Cells(emptyRow, 2).Value = PhoneTextBox.Value
Cells(emptyRow, 3).Value = CityListBox.Value
Cells(emptyRow, 4).Value = DinnerComboBox.Value

If DateCheckBox1.Value = True Then Cells(emptyRow, 5).Value = DateCheckBox1.Caption

If DateCheckBox2.Value = True Then Cells(emptyRow, 5).Value = Cells(emptyRow, 5).Value & " " & DateCheckBox2.Caption

If DateCheckBox3.Value = True Then Cells(emptyRow, 5).Value = Cells(emptyRow, 5).Value & " " & DateCheckBox3.Caption

If CarOptionButton1.Value = True Then
    Cells(emptyRow, 6).Value = "Yes"
Else
    Cells(emptyRow, 6).Value = "No"
End If

Cells(emptyRow, 7).Value = MoneyTextBox.Value

End Sub

Paskaidrojums: vispirms mēs aktivizējam Sheet1. Tālāk mēs nosakām emptyRow. Mainīgais emptyRow ir pirmā tukšā rinda un palielinās katru reizi, kad tiek pievienots ieraksts. Visbeidzot, mēs pārsūtām informāciju no Userform uz konkrētām emptyRow kolonnām.

7. Divreiz noklikšķiniet uz pogas Notīrīt.

8. Pievienojiet šādu koda rindiņu:

Private Sub ClearButton_Click()

Call UserForm_Initialize

End Sub

Paskaidrojums: šī koda līnija izsauc Sub UserForm_Initialize, kad noklikšķina uz pogas Notīrīt.

9. Divreiz noklikšķiniet uz pogas Atcelt.

10. Pievienojiet šādu koda rindiņu:

Private Sub CancelButton_Click()

Unload Me

End Sub

Paskaidrojums: šī koda līnija aizver lietotāju formu, noklikšķinot uz pogas Atcelt.

Pārbaudiet Userform

Iziet no Visual Basic Editor, ievadiet zemāk redzamās etiķetes rindā 1 un pārbaudiet Userform.

Rezultāts:

Pārbaudiet Userform

Lasīt arī: