Cutii combinate dependente de Excel VBA - Macro Excel ușor

Cuprins

Mai jos vom analiza un program în Excel VBA care creează o formă de utilizator care conține casete combinate dependente. Formularul de utilizator pe care îl vom crea arata după cum urmează:

Utilizatorul selectează Animale dintr-o listă derulantă. Drept urmare, utilizatorul poate selecta un animal dintr-o a doua listă derulantă.

Utilizatorul selectează Sport dintr-o listă derulantă. Drept urmare, utilizatorul poate selecta un sport dintr-o a doua listă derulantă.

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 casetele combinate (prima la stânga, a doua la dreapta) și butonul de comandă. Odată ce acest lucru a fost finalizat, rezultatul ar trebui să fie în concordanță cu imaginea Formei de utilizator prezentată anterior. De exemplu, creați un control casetă combo făcând clic pe ComboBox din caseta de instrumente. Apoi, puteți trage o casetă combinată pe formularul de utilizator.

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 modifica subtitrarea Formei de utilizator și a 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 ComboBox1
.AddItem "Animale"
.AddItem "Sport"
.AddItem "Food"
Se termina cu
Sfârșitul Sub

Explicație: Aceste linii de cod umple prima casetă combinată.

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 prima casetă combinată.

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

11. Faceți dublu clic pe prima casetă combinată.

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

Private Sub ComboBox1_Change ()
Reduceți indexul ca întreg
index = ComboBox1.ListIndex
ComboBox2.Clar
Selectați Index de cazuri
Cazul este = 0
Cu ComboBox2
.AddItem "Dog"
.AddItem "Cat"
.AddItem "Cal"
Se termina cu
Cazul este = 1
Cu ComboBox2
.AddItem "Tenis"
.AddItem "Înot"
.AddItem "Baschet"
Se termina cu
Cazul este = 2
Cu ComboBox2
.AddItem "Clătite"
.AddItem "Pizza"
.AddItem "Chinese"
Se termina cu
Selectare sfârșit
Sfârșitul Sub

Explicație: Excel VBA folosește valoarea indicelui variabil pentru a testa fiecare instrucțiune de caz ulterioară pentru a vedea cu ce elemente ar trebui să fie completată a doua casetă combinată. Accesați programul Select Case pentru a afla mai multe despre structura Select Case.

13. Faceți dublu clic pe butonul Import.

14. Adăugați următoarea linie de cod:

Private Sub CommandButton1_Click ()
Gama („A1”). Valoare = ComboBox2.Value
Sfârșitul Sub

Rezultat:

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

wave wave wave wave wave