Formular de utilizator Excel VBA cu mai multe pagini - Macro Excel ușor

Cuprins

Mai jos vom analiza un program în Excel VBA care creează o formă de utilizator care conține mai multe pagini. Această formă de utilizator conține și imagini.

Controlul multipage conține două pagini. La pagina 1, utilizatorul își poate completa informațiile personale. La pagina 2, utilizatorul poate indica ce pictură îi place cel mai mult.

Pentru a crea acest formular de utilizator, executați pașii următori.

1. Deschideți Editorul Visual Basic. Dacă Project Explorer nu este vizibil, faceți clic pe View, Project Explorer.

2. Faceți clic pe Insert, Userform. Dacă Caseta de instrumente nu apare automat, faceți clic pe Vizualizare, Casetă de instrumente. Ecranul dvs. ar trebui să fie configurat după cum urmează.

3. Adăugați controlul Multipage, etichete, casete de text (primul în partea de sus, al doilea sub primul), cadrul, butoanele de opțiune (primul în stânga, al doilea în dreapta), caseta de listă, Controlul imaginii și butonul de comandă. Odată ce acest lucru a fost finalizat, rezultatul ar trebui să fie în concordanță cu versiunea goală a Formei de utilizator prezentată anterior. De exemplu, creați un control Multipage făcând clic pe Multipage din caseta de instrumente. Apoi, puteți trage un control Multipage pe Userform. Când ajungeți la cadrul de gen, nu uitați să desenați acest cadru mai întâi înainte de a plasa cele două butoane de opțiune în el.

4. Puteți schimba numele și subtitrările comenzilor. Numele sunt utilizate în codul VBA Excel. Subtitrările sunt cele care apar pe ecran. Este o bună practică să schimbați numele comenzilor, dar nu este necesar aici, deoarece avem doar câteva controale în acest exemplu. Pentru a schimba subtitrarea Formei de utilizator, filelor Multipage, etichetelor, cadrului, butoanelor de opțiune și butonului de comandă, faceți clic pe Vizualizare, fereastră Proprietăți și faceți clic pe fiecare control.

5. Pentru a afișa forma de utilizator, plasați un buton de comandă pe foaia de lucru și adăugați următoarea linie de cod:

Private Sub CommandButton1_Click ()
UserForm 1. Afișați
Sfârșitul Sub

Vom crea acum Sub UserForm_Initialize. Când utilizați metoda Afișare pentru formularul de utilizator, acest sub va fi executat automat.

6. Deschideți Editorul Visual Basic.

7. În Project Explorer, faceți clic dreapta pe UserForm1 și apoi faceți clic pe View Code.

8. Alegeți Userform din lista derulantă din stânga. Alegeți Inițializare din lista verticală dreaptă.

9. Adăugați următoarele linii de cod:

Private Sub UserForm_Initialize ()
Cu ListBox1
.AddItem "Munți"
.AddItem "Apus de soare"
.AddItem "Beach"
.AddItem "Winter"
Se termina cu
Sfârșitul Sub

Explicație: se va completa caseta de listă de la pagina 2.

Acum am creat prima parte a Formularului de utilizare. Deși pare deja îngrijit, nimic nu se va întâmpla încă atunci când selectăm un element din caseta listă sau când facem clic pe butonul OK.

10. Descărcați imaginile (partea dreaptă a acestei pagini) și adăugați-le la „C: \ test \”

11. În Project Explorer, faceți dublu clic pe UserForm1.

12. Faceți dublu clic pe caseta listă.

13. Adăugați următoarele linii de cod:

Private Sub ListBox1_Click ()
Dacă ListBox1.ListIndex = 0 Atunci
Image1.Picture = LoadPicture ("C: \ test \ Mountains.jpg")
End If
Dacă ListBox1.ListIndex = 1 Atunci
Image1.Picture = LoadPicture ("C: \ test \ Sunset.jpg")
End If
Dacă ListBox1.ListIndex = 2 Atunci
Image1.Picture = LoadPicture ("C: \ test \ Beach.jpg")
End If
Dacă ListBox1.ListIndex = 3 Atunci
Image1.Picture = LoadPicture ("C: \ test \ Winter.jpg")
End If
Sfârșitul Sub

Explicație: aceste linii de cod încarcă o imagine în funcție de elementul selectat în caseta de listă.

14. Faceți dublu clic pe butonul OK.

15. Adăugați următoarele linii de cod:

Private Sub CommandButton1_Click ()
Dim goalRow As Long
'Activați Sheet1
Foaie 1. Activați
'Determinați rândul gol
emptyRow = WorksheetFunction.CountA (Range ("A: A")) + 1
„Transferați informații
Celule (goalRow, 1) .Value = TextBox1.Value
Celule (goalRow, 2) .Value = TextBox2.Value
Dacă OptionButton1.Value = Adevărat atunci
Celule (goalRow, 3) .Value = "Male"
Altfel
Celule (goalRow, 3) .Value = "Feminin"
End If
Celule (goalRow, 4) .Value = ListBox1.Value
„Închideți formularul de utilizator
Descarcă-mă
Sfârșitul Sub

Explicație: mai întâi, activăm Sheet1. Apoi, determinăm rândul gol. Variabila emptyRow este primul rând gol și crește de fiecare dată când se adaugă o înregistrare. Apoi, transferăm informațiile din formularul de utilizator în coloanele specifice de la rândul gol. În cele din urmă, închidem formularul de utilizator.

16. Ieșiți din Visual Basic Editor, introduceți etichetele de mai jos în rândul 1 și testați Userform.

Rezultat:

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave