„Excel VBA Userform“ su keliais puslapiais - paprastos „Excel“ makrokomandos

Turinys

Žemiau apžvelgsime programą „Excel VBA“, kuri sukuria „Userform“, kurioje yra keli puslapiai. Šioje vartotojo formoje taip pat yra vaizdų.

Kelių puslapių valdiklyje yra du puslapiai. 1 puslapyje vartotojas gali užpildyti savo asmeninę informaciją. 2 puslapyje vartotojas gali nurodyti, kuris paveikslas jam labiausiai patinka.

Norėdami sukurti šią vartotojo formą, atlikite šiuos veiksmus.

1. Atidarykite „Visual Basic“ redaktorių. Jei „Project Explorer“ nematomas, spustelėkite „View“, „Project Explorer“.

2. Spustelėkite Įterpti, Vartotojo forma. Jei įrankių dėžė nerodoma automatiškai, spustelėkite Rodinys, įrankių dėžė. Jūsų ekranas turi būti nustatytas taip, kaip nurodyta toliau.

3. Pridėkite kelių puslapių valdiklį, etiketes, teksto laukelius (pirmasis viršuje, antrasis po pirmuoju), rėmelį, parinkčių mygtukus (pirmasis kairėje, antrasis dešinėje), sąrašo laukelį, vaizdo valdymo ir komandų mygtuką. Kai tai bus baigta, rezultatas turėtų atitikti tuščią „Userform“ versiją, parodytą anksčiau. Pvz., Sukurkite kelių puslapių valdiklį, įrankių juostoje spustelėdami Kelių puslapių. Tada naudotojo formoje galite vilkti kelių puslapių valdiklį. Kai pateksite į lyčių rėmą, nepamirškite nupiešti šio rėmo prieš dėdami į jį du parinkčių mygtukus.

4. Galite pakeisti valdiklių pavadinimus ir antraštes. Pavadinimai naudojami „Excel“ VBA kode. Subtitrai yra tie, kurie rodomi jūsų ekrane. Gera praktika yra pakeisti valdiklių pavadinimus, tačiau čia tai nėra būtina, nes šiame pavyzdyje turime tik keletą valdiklių. Norėdami pakeisti „Userform“, kelių puslapių skirtukų, etikečių, rėmelio, parinkčių mygtukų ir komandų mygtuko antraštes, spustelėkite „View“, „Properties Window“ ir spustelėkite kiekvieną valdiklį.

5. Norėdami parodyti „Userform“, įdėkite komandų mygtuką į savo darbalapį ir pridėkite šią kodo eilutę:

Privati ​​antrinė komandaButton1_Click ()
UserForm1.Show
Pabaiga Sub

Dabar mes sukursime Sub UserForm_Initialize. Naudojant „Userform“ rodymo metodą, šis antraštė bus automatiškai vykdoma.

6. Atidarykite „Visual Basic“ redaktorių.

7. „Project Explorer“ dešiniuoju pelės mygtuku spustelėkite UserForm1, tada spustelėkite View Code.

8. Kairiajame išskleidžiamajame sąraše pasirinkite Userform. Iš dešiniojo išskleidžiamojo sąrašo pasirinkite Inicijuoti.

9. Pridėkite šias kodo eilutes:

Privatus antrinis vartotojasForm_Initialize ()
Su „ListBox1“
.AddItem "Kalnai"
.AddItem "Saulėlydis"
.AddItem "Paplūdimys"
.AddItem "Žiema"
Pabaiga su
Pabaiga Sub

Paaiškinimas: sąrašo laukelis 2 puslapyje bus užpildytas.

Dabar sukūrėme pirmąją „Userform“ dalį. Nors atrodo jau tvarkingai, dar nieko neįvyks, kai sąrašo laukelyje pasirinksime elementą arba spustelėsime mygtuką Gerai.

10. Atsisiųskite vaizdus (dešinėje šio puslapio pusėje) ir pridėkite juos prie „C: \ test \“

11. „Project Explorer“ dukart spustelėkite UserForm1.

12. Dukart spustelėkite sąrašo laukelį.

13. Pridėkite šias kodo eilutes:

Privatus antrinis sąrašasBox1_Click ()
Jei ListBox1.ListIndex = 0 Tada
Image1.Picture = LoadPicture ("C: \ test \ Mountains.jpg")
Pabaiga Jei
Jei ListBox1.ListIndex = 1 Tada
Image1.Picture = LoadPicture ("C: \ test \ Sunset.jpg")
Pabaiga Jei
Jei ListBox1.ListIndex = 2 Tada
Image1.Picture = LoadPicture ("C: \ test \ Beach.jpg")
Pabaiga Jei
Jei ListBox1.ListIndex = 3 Tada
Image1.Picture = LoadPicture ("C: \ test \ Winter.jpg")
Pabaiga Jei
Pabaiga Sub

Paaiškinimas: šios kodų eilutės įkelia paveikslėlį, priklausomai nuo sąrašo lauke pasirinkto elemento.

14. Dukart spustelėkite mygtuką Gerai.

15. Pridėkite šias kodo eilutes:

Privati ​​antrinė komandaButton1_Click ()
Užtemdyti tuščią eilutę
„Padarykite„ Sheet1 “aktyvų
1 lapas. Aktyvuoti
'Nustatykite tuščią eilutę
emptyRow = WorksheetFunction.CountA (Diapazonas („A: A“)) + 1
„Perkelti informaciją
Ląstelės (emptyRow, 1) .Value = TextBox1.Value
Ląstelės (emptyRow, 2) .Value = TextBox2.Value
Jei OptionButton1.Value = Tiesa tada
Ląstelės (emptyRow, 3) .Value = "Vyras"
Kitas
Ląstelės (emptyRow, 3) .Value = "Moteris"
Pabaiga Jei
Ląstelės (emptyRow, 4) .Value = ListBox1.Value
„Uždarykite„ Userform “
Iškrauti mane
Pabaiga Sub

Paaiškinimas: pirmiausia suaktyviname „Sheet1“. Toliau nustatome „emptyRow“. Kintamasis emptyRow yra pirmoji tuščia eilutė ir didėja kiekvieną kartą pridedant įrašą. Tada mes perkeliame informaciją iš „Userform“ į konkrečius „emptyRow“ stulpelius. Galiausiai uždarome „Userform“.

16. Išeikite iš „Visual Basic“ redaktoriaus, į 1 eilutę įveskite toliau pateiktas etiketes ir išbandykite „Userform“.

Rezultatas:

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave