Korisnički obrazac programa Excel VBA s više stranica - jednostavni makroi programa Excel

Sadržaj

U nastavku ćemo pogledati program u Excelu VBA koji stvara Userform koji sadrži više stranica. Ovaj korisnički oblik također sadrži slike.

Kontrola za više stranica sadrži dvije stranice. Na stranici 1 korisnik može unijeti svoje osobne podatke. Na stranici 2 korisnik može naznačiti koja mu se slika najviše sviđa.

Da biste stvorili ovaj korisnički obrazac, izvedite sljedeće korake.

1. Otvorite Visual Basic Editor. Ako Project Explorer nije vidljiv, kliknite View, Project Explorer.

2. Pritisnite Umetni, Korisnički obrazac. Ako se Toolbox ne pojavi automatski, kliknite View, Toolbox. Zaslon bi trebao biti postavljen na sljedeći način.

3. Dodajte kontrolu za više stranica, oznake, okvire za tekst (prvi pri vrhu, drugi ispod prvog), okvir, gumbe za opcije (prvi slijeva, drugi desno), okvir s popisom, Upravljanje slikom i gumb za naredbe. Nakon što je ovo dovršeno, rezultat bi trebao biti u skladu s praznom verzijom Userform prikazanom ranije. Na primjer, stvorite kontrolu s više stranica klikom na Više stranica iz alata. Zatim možete povući kontrolu na više stranica na Userform. Kad dođete do okvira Spol, ne zaboravite prvo nacrtati ovaj okvir prije nego što u njega postavite dva gumba s opcijama.

4. Možete promijeniti nazive i natpise kontrola. Imena se koriste u Excel VBA kodu. Naslovi su oni koji se pojavljuju na vašem zaslonu. Dobra je praksa promijeniti nazive kontrola, ali to ovdje nije potrebno jer u ovom primjeru imamo samo nekoliko kontrola. Za promjenu opisa korisničkog obrasca, kartica s više stranica, naljepnica, okvira, gumba opcija i naredbenog gumba kliknite Pogled, prozor Svojstva i kliknite na svaku kontrolu.

5. Da biste prikazali Userform, postavite naredbeni gumb na svoj radni list i dodajte sljedeći kodni redak:

Privatna pomoćna naredbaButton1_Click ()
Korisnički obrazac1.Prikaži
Kraj podm

Sada ćemo stvoriti Sub UserForm_Initialize. Kada koristite metodu Show za Userform, ova podmena će se automatski izvršiti.

6. Otvorite Visual Basic Editor.

7. U Project Exploreru desnom tipkom miša kliknite UserForm1, a zatim kliknite View Code.

8. Odaberite Korisnički obrazac s lijevog padajućeg popisa. Odaberite Initialize s desnog padajućeg popisa.

9. Dodajte sljedeće retke koda:

Privatni pomoćni korisnički obrazac_Initialize ()
S ListBox1
.Dodajte stavku "Planine"
.AddItem "Zalazak sunca"
.Dodatak "Plaža"
.Dodajte stavku "Zima"
Završi s
Kraj podm

Objašnjenje: okvir s popisom na stranici 2 će biti ispunjen.

Sada smo stvorili prvi dio Userform -a. Iako već izgleda uredno, ništa se neće dogoditi kada odaberemo stavku s okvira s popisom ili kada pritisnemo gumb U redu.

10. Preuzmite slike (desna strana ove stranice) i dodajte ih u "C: \ test \"

11. U Project Exploreru dvaput kliknite UserForm1.

12. Dvaput kliknite na okvir s popisom.

13. Dodajte sljedeće retke koda:

Privatni Sub ListBox1_Click ()
Ako je ListBox1.ListIndex = 0 Tada
Image1.Picture = LoadPicture ("C: \ test \ Mountains.jpg")
Završi ako
Ako je ListBox1.ListIndex = 1 Tada
Image1.Picture = LoadPicture ("C: \ test \ Sunset.jpg")
Završi ako
Ako je ListBox1.ListIndex = 2 Tada
Image1.Picture = LoadPicture ("C: \ test \ Beach.jpg")
Završi ako
Ako je ListBox1.ListIndex = 3 Tada
Image1.Picture = LoadPicture ("C: \ test \ Winter.jpg")
Završi ako
Kraj podm

Objašnjenje: ove linije koda učitavaju sliku ovisno o odabranoj stavci u okviru s popisom.

14. Dvaput kliknite gumb U redu.

15. Dodajte sljedeće retke koda:

Privatna pomoćna naredbaButton1_Click ()
Zatamni prazanRed kao dugo
'Učinite Sheet1 aktivnim
List1.Aktiviraj
'Odredite emptyRow
emptyRow = Funkcija radnog lista.CountA (Raspon ("A: A")) + 1
'Prijenos informacija
Ćelije (emptyRow, 1) .Value = TextBox1.Vrednost
Ćelije (emptyRow, 2) .Value = TextBox2.Vrednost
Ako je OptionButton1.Value = True Tada
Ćelije (emptyRow, 3) .Value = "Muški"
Drugo
Ćelije (emptyRow, 3) .Value = "Ženski"
Završi ako
Ćelije (emptyRow, 4) .Value = ListBox1.Value
'Zatvorite korisnički obrazac
Iskrcaj Me
Kraj podm

Objašnjenje: prvo aktiviramo Sheet1. Zatim određujemo emptyRow. Varijabla emptyRow prvi je prazan redak i povećava se svaki put kad se doda zapis. Zatim prenosimo podatke iz Userform -a u određene stupce emptyRow. Na kraju, zatvaramo Userform.

16. Izađite iz uređivača Visual Basic, unesite dolje navedene oznake u redak 1 i testirajte Userform.

Proizlaziti:

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave