Excel VBA Userform s viacerými stránkami - ľahké makrá Excelu

Obsah

Ďalej sa pozrieme na program v programe Excel VBA, ktorý vytvára formu používateľa, ktorá obsahuje viac stránok. Táto užívateľská forma tiež obsahuje obrázky.

Ovládanie viacerých strán obsahuje dve stránky. Na stránke 1 môže používateľ vyplniť svoje osobné údaje. Na strane 2 môže používateľ uviesť, ktorý obraz sa mu najviac páči.

Ak chcete vytvoriť tento formulár používateľa, vykonajte nasledujúce kroky.

1. Otvorte editor jazyka Visual Basic. Ak Prieskumník projektov nie je viditeľný, kliknite na Zobraziť, Prieskumník projektu.

2. Kliknite na položku Vložiť, Používateľský formulár. Ak sa Panel s nástrojmi nezobrazí automaticky, kliknite na položku Zobraziť, Panel s nástrojmi. Vaša obrazovka by mala byť nastavená nižšie.

3. Pridajte viacstránkový ovládací prvok, štítky, textové polia (prvé hore, druhé pod prvým), rámček, tlačidlá možností (prvé vľavo, druhé vpravo), pole so zoznamom, ovládací prvok obrázka a príkazové tlačidlo. Akonáhle je to dokončené, výsledok by mal byť v súlade s prázdnou verziou Userform zobrazenou skôr. Napríklad vytvorte ovládací prvok Viacstránka kliknutím na Viacstránku v Paneli s nástrojmi. Ďalej môžete na používateľskom formulári pretiahnuť viacstránkový ovládací prvok. Keď prídete na rámček pohlavia, najskôr nakreslite tento rámček a potom doň umiestnite dve tlačidlá možností.

4. Môžete zmeniť názvy a titulky ovládacích prvkov. Mená sa používajú v kóde programu Excel VBA. Titulky sú tie, ktoré sa zobrazujú na vašej obrazovke. Je dobrým zvykom zmeniť názvy ovládacích prvkov, ale nie je to potrebné, pretože v tomto prípade máme iba niekoľko ovládacích prvkov. Ak chcete zmeniť popis karty Userform, Viacstránkové karty, štítky, rám, tlačidlá možností a príkazové tlačidlo, kliknite na položku Zobraziť, Okno vlastností a kliknite na jednotlivé ovládacie prvky.

5. Ak chcete zobraziť formulár Userform, umiestnite na pracovný hárok príkazové tlačidlo a pridajte nasledujúci riadok kódu:

Súkromné ​​sub CommandButton1_Click ()
UserForm1.Show
Koniec pod

Teraz vytvoríme podskupinu UserForm_Initialize. Keď pre metódu Userform použijete metódu Show, táto čiastka sa automaticky spustí.

6. Otvorte editor jazyka Visual Basic.

7. V programe Project Explorer kliknite pravým tlačidlom na UserForm1 a potom kliknite na položku Zobraziť kód.

8. V ľavom rozbaľovacom zozname vyberte položku Userform. V pravom rozbaľovacom zozname vyberte položku Inicializovať.

9. Pridajte nasledujúce riadky kódu:

Private Sub UserForm_Initialize ()
S ListBox1
.AddItem „Hory“
.Pridať položku „Západ slnka“
.Pridať položku „Pláž“
.Pridať položku „Zima“
Koniec s
Koniec pod

Vysvetlenie: vyplní sa pole so zoznamom na strane 2.

Teraz sme vytvorili prvú časť užívateľského formulára. Hoci to už vyzerá úhľadne, nič sa ešte nestane, keď vyberieme položku zo zoznamu alebo keď klikneme na tlačidlo OK.

10. Stiahnite si obrázky (pravá strana tejto stránky) a pridajte ich do „C: \ test \“

11. V Project Exploreri dvakrát kliknite na UserForm1.

12. Dvakrát kliknite na pole so zoznamom.

13. Pridajte nasledujúce riadky kódu:

Súkromný čiastkový zoznamBox1_Click ()
Ak ListBox1.ListIndex = 0 Potom
Image1.Picture = LoadPicture ("C: \ test \ Mountains.jpg")
Koniec Ak
Ak ListBox1.ListIndex = 1 Potom
Image1.Picture = LoadPicture ("C: \ test \ Sunset.jpg")
Koniec Ak
Ak ListBox1.ListIndex = 2 Potom
Image1.Picture = LoadPicture ("C: \ test \ Beach.jpg")
Koniec Ak
Ak ListBox1.ListIndex = 3 Potom
Image1.Picture = LoadPicture ("C: \ test \ Winter.jpg")
Koniec Ak
Koniec pod

Vysvetlenie: tieto riadky kódu načítajú obrázok v závislosti od vybratej položky v zozname.

14. Dvakrát kliknite na tlačidlo OK.

15. Pridajte nasledujúce riadky kódu:

Súkromné ​​sub CommandButton1_Click ()
Dim emptyRow As Long
'Aktivovať list1
List 1. Aktivujte
„Určite prázdny riadok
emptyRow = WorksheetFunction.CountA (rozsah ("A: A")) + 1
„Informácie o prevode
Bunky (emptyRow, 1). Hodnota = TextBox1.Hodnota
Bunky (emptyRow, 2). Hodnota = TextBox2.Hodnota
Ak OptionButton1.Value = True Potom
Bunky (emptyRow, 3). Hodnota = "muž"
Inak
Bunky (emptyRow, 3). Hodnota = "Žena"
Koniec Ak
Bunky (emptyRow, 4) .Hodnota = ListBox1.Value
'Zatvoriť užívateľský formulár
Vylož ma
Koniec pod

Vysvetlenie: Najprv aktivujeme List1. Ďalej určíme prázdny riadok. Premenná emptyRow je prvý prázdny riadok a zvyšuje sa pri každom pridaní záznamu. Ďalej prenesieme informácie z Userform do konkrétnych stĺpcov emptyRow. Nakoniec zatvoríme užívateľský formulár.

16. Ukončite editor jazyka Visual Basic, do nižšie uvedeného riadka 1 zadajte nižšie uvedené štítky a vyskúšajte formulár Userform.

Výsledok:

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave