/ / Excel VBA Userform ar vairākām lapām

Excel VBA Userform ar vairākām lapām

Zemāk mēs aplūkosim programmu Excel VBA, kas izveido Userform, kas satur vairākas lapas. Šajā lietotāja formā ir arī attēli.

Vairāku lapu kontrole satur divas lapas. 1. lappusē lietotājs var aizpildīt viņa / viņas personisko informāciju. 2. lappusē lietotājs var norādīt, kurai glezniecībai tas visvairāk patīk.

Lietotāja forma Page 1
Lietotāja forma 2

Lai izveidotu šo Userform, 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 vairāklapu vadīklas, etiķetes, teksta lodziņus (pirmā augšdaļā, otro zemāk pirmo), rāmi, opciju pogas (pirmais pa kreisi, otrā labajā pusē), saraksta lodziņš, attēla vadība un komandu poga. Kad tas ir pabeigts, rezultātam jāatbilst iepriekš redzamās lietotāja formas tukšajai versijai. Piemēram, izveidojiet vairāklapu vadību, noklikšķinot uz vairāklapas no rīkjoslas. Tālāk jūs varat vilkt vairāku lapu kontroli uz Userform. Kad esat ieradies Dzimuma rūtī, atcerieties, lai vispirms izdarītu šo rāmi, pirms ievietojat divas opcijas pogas.

4 Jūs varat mainīt vadības ierīču nosaukumus un parakstus. Vārdi tiek izmantoti Excel VBA kodā. Paraksti ir tie, kas tiek parādīti ekrānā. Laba prakse ir mainīt kontroles nosaukumus, taču šeit tas nav nepieciešams, jo šajā piemērā ir tikai dažas kontroles. Lai mainītu Userform, Multipage cilnes, etiķetes, rāmi, opciju pogas un komandu pogu nosaukumu, noklikšķiniet uz Skatīt, rekvizītu loga un noklikšķiniet uz katras vadības pogas.

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

Private Sub CommandButton1_Click()

UserForm1.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.

6. Atveriet Visual Basic Editor.

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

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

9. Pievienojiet šādas koda līnijas:

Private Sub UserForm_Initialize()

With ListBox1
    .AddItem "Mountains"
    .AddItem "Sunset"
    .AddItem "Beach"
    .AddItem "Winter"
End With

End Sub

Paskaidrojums: saraksta lodziņš 2. lappusē tiks aizpildīts.

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 izvēlēsimies kādu no saraksta lodziņā vai noklikšķināsim uz pogas Labi.

10. Lejupielādējiet attēlus (šīs lapas labajā pusē) un pievienojiet tos "C: tests"

11. Projekta Explorer divreiz noklikšķiniet uz UserForm1.

12. Divreiz noklikšķiniet uz saraksta lodziņa.

13. Pievienojiet šādas koda līnijas:

Private Sub ListBox1_Click()

If ListBox1.ListIndex = 0 Then
    Image1.Picture = LoadPicture("C:testMountains.jpg")
End If

If ListBox1.ListIndex = 1 Then
    Image1.Picture = LoadPicture("C:testSunset.jpg")
End If

If ListBox1.ListIndex = 2 Then
    Image1.Picture = LoadPicture("C:testBeach.jpg")
End If

If ListBox1.ListIndex = 3 Then
    Image1.Picture = LoadPicture("C:testWinter.jpg")
End If

End Sub

Paskaidrojums: šīs koda līnijas ielādē attēlu atkarībā no atlasītā vienuma saraksta lodziņā.

14. Dubultklikšķi uz pogas Labi.

15. Pievienojiet šādas koda rindiņas:

Private Sub CommandButton1_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 = TextBox1.Value
Cells(emptyRow, 2).Value = TextBox2.Value

If OptionButton1.Value = True Then
    Cells(emptyRow, 3).Value = "Male"
Else
    Cells(emptyRow, 3).Value = "Female"
End If

Cells(emptyRow, 4).Value = ListBox1.Value

"Close Userform
Unload Me

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. Tālāk mēs nododam informāciju no Userform uz konkrētām emptyRow kolonnām. Visbeidzot, mēs aizveram Userform.

16. Izejiet no Visual Basic Editor, ievadiet zemāk redzamās etiķetes rindā 1 un pārbaudiet lietotāja formu.

Rezultāts:

Pārbaudiet Userform

Lasīt arī: