Excel VBA Userform ar vairākām lapām - vienkārši Excel makro

Satura rādītājs

Zemāk mēs apskatīsim programmu programmā Excel VBA, kas izveido Userform, kurā ir vairākas lapas. Šajā lietotāja veidlapā ir arī attēli.

Vairāku lapu vadīkla satur divas lapas. 1. lappusē lietotājs var aizpildīt savu personisko informāciju. 2. lappusē lietotājs var norādīt, kura glezna viņam visvairāk patīk.

Lai izveidotu šo Userform, veiciet tālāk norādītās darbības.

1. Atveriet Visual Basic redaktoru. Ja Project Explorer nav redzams, noklikšķiniet uz View, Project Explorer.

2. Noklikšķiniet uz Ievietot, Lietotāja forma. Ja Toolbox neparādās automātiski, noklikšķiniet uz View, Toolbox. Ekrāns ir jāiestata, kā norādīts zemāk.

3. Pievienojiet daudzlapu vadīklu, etiķetes, tekstlodziņus (pirmais augšpusē, otro zem pirmā), rāmi, opciju pogas (pirmais kreisajā pusē, otrais labajā pusē), saraksta lodziņu, attēla vadības un komandu pogu. Kad tas ir pabeigts, rezultātam jāatbilst iepriekš parādītajai tukšajai Userform versijai. Piemēram, izveidojiet vairāku lapu vadīklu, rīkjoslā noklikšķinot uz Daudzlapas. Pēc tam Userform varat vilkt vairāku lapu vadīklu. Kad esat ieradies pie dzimuma rāmja, atcerieties vispirms uzzīmēt šo rāmi, pirms ievietojat tajā divas opciju pogas.

4. Varat mainīt vadīklu nosaukumus un parakstus. Vārdi tiek izmantoti Excel VBA kodā. Paraksti ir tie, kas parādās jūsu ekrānā. Ir laba prakse mainīt vadības ierīču nosaukumus, taču šeit tas nav nepieciešams, jo šajā piemērā mums ir tikai dažas vadīklas. Lai mainītu Userform, vairāku lapu cilņu, etiķešu, rāmja, opciju pogu un komandu pogas parakstu, noklikšķiniet uz Skatīt, Rekvizītu logs un noklikšķiniet uz katras vadīklas.

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

Privāta apakškomandaButton1_Click ()
UserForm1.Show
Beigu apakš

Tagad mēs izveidosim Sub UserForm_Initialize. Ja lietotāja veidlapai izmantojat Rādīšanas metodi, šī apakšiedaļa tiks izpildīta automātiski.

6. Atveriet Visual Basic redaktoru.

7. Project Explorer ar peles labo pogu noklikšķiniet uz UserForm1 un pēc tam noklikšķiniet uz Skatīt kodu.

8. Kreisajā nolaižamajā sarakstā izvēlieties Userform. Nolaižamajā labajā sarakstā atlasiet Inicializēt.

9. Pievienojiet šādas koda rindiņas:

Privāts apakšlietotājsForm_Initialize ()
Ar ListBox1
.AddItem "Kalni"
.AddItem "Saulriets"
.AddItem "Pludmale"
.Pievienot "Ziema"
Beigt ar
Beigu apakš

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

Tagad esam izveidojuši Userform pirmo daļu. Lai gan tas jau izskatās glīti, nekas vēl nenotiks, kad atlasīsim vienumu no saraksta lodziņa vai noklikšķināsim uz pogas Labi.

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

11. Project Explorer veiciet dubultklikšķi uz UserForm1.

12. Veiciet dubultklikšķi uz saraksta lodziņa.

13. Pievienojiet šādas koda rindiņas:

Privāts apakšsarakstsBox1_Click ()
Ja ListBox1.ListIndex = 0 Tad
Image1.Picture = LoadPicture ("C: \ test \ Mountains.jpg")
Beigas Ja
Ja ListBox1.ListIndex = 1 Tad
Image1.Picture = LoadPicture ("C: \ test \ Sunset.jpg")
Beigas Ja
Ja ListBox1.ListIndex = 2 Tad
Image1.Picture = LoadPicture ("C: \ test \ Beach.jpg")
Beigas Ja
Ja ListBox1.ListIndex = 3 Tad
Image1.Picture = LoadPicture ("C: \ test \ Winter.jpg")
Beigas Ja
Beigu apakš

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

14. Veiciet dubultklikšķi uz pogas Labi.

15. Pievienojiet šādas koda rindiņas:

Privāta apakškomandaButton1_Click ()
Aptumšot tukšu Rinda tik ilgi
'Padariet Sheet1 aktīvu
1. lapa. Aktivizēt
'Noteikt tukšu rindu
emptyRow = WorksheetFunction.CountA (Diapazons ("A: A")) + 1
'Pārsūtīt informāciju
Šūnas (emptyRow, 1). Vērtība = TextBox1.Value
Šūnas (emptyRow, 2). Vērtība = TextBox2.Value
Ja OptionButton1.Value = True Tad
Šūnas (emptyRow, 3) .Value = "Vīrietis"
Citādi
Šūnas (emptyRow, 3) .Value = "Sieviete"
Beigas Ja
Šūnas (emptyRow, 4) .Value = ListBox1.Value
'Aizveriet Userform
Izkraut Mani
Beigu apakš

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 pārsūtām informāciju no Userform uz īpašām emptyRow kolonnām. Visbeidzot, mēs aizveram Userform.

16. Izejiet no Visual Basic redaktora, 1. rindā ievadiet tālāk redzamās etiķetes un pārbaudiet Userform.

Rezultāts:

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave