Excel VBA Multicolumn Combo Box - Macro Excel ușor

Cuprins

Mai jos vom analiza un program în Excel VBA care creează o formă de utilizator care conține un casetă combinată multicolumn.

Formularul de utilizator pe care îl vom crea arata după cum urmează:

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 eticheta, caseta combinată și butoanele 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 schimba subtitrarea Formei de utilizator, etichetei și butoanelor 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 ()
ComboBox1.ColumnCount = 2
Dim Films (1 până la 5, 1 până la 2) ca șir
Dim i Integer, j As Integer
Filme (1, 1) = "Stăpânul inelelor"
Filme (2, 1) = "Viteză"
Films (3, 1) = "Star Wars"
Filme (4, 1) = "Nașul"
Filme (5, 1) = "Pulp Fiction"
Filme (1, 2) = "Aventura"
Films (2, 2) = "Acțiune"
Filme (3, 2) = "Sci-Fi"
Films (4, 2) = "Crime"
Filme (5, 2) = "Dramă"
ComboBox1.List = Filme
Sfârșitul Sub

Explicație: Prima linie de cod setează numărul de coloane ale casetei combinate la 2. În loc să setați numărul de coloane în timpul rulării, puteți configura această setare și la momentul proiectării. Pentru a realiza acest lucru, faceți clic dreapta pe controlul casetei combinate, faceți clic pe Proprietăți și setați proprietatea ColumnCount la 2. Apoi, declarăm și inițializăm o matrice bidimensională. Ultima linie de cod atribuie matricea casetei combinate.

Acum am creat prima parte a Formularului de utilizare. Deși pare deja îngrijit, nimic nu se va întâmpla încă atunci când facem clic pe butoanele de comandă de pe Userform.

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

11. Faceți dublu clic pe butonul OK.

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

Private Sub CommandButton1_Click ()
Descarcă-mă
MsgBox „Ați selectat” & ComboBox1.Value
La eroare Reluați în continuare
MsgBox „Îți place” & ComboBox1.Column (1) și „filme”
Sfârșitul Sub

Notă: aceste linii de cod închid formularul de utilizator Excel VBA și afișează elementul și genul selectat. Declarația „On Error Resume Next” ignoră eroarea atunci când utilizatorul își completează propriul film (în acest caz nu există niciun gen disponibil).

13. Faceți dublu clic pe butonul Anulare.

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

Private Sub CommandButton2_Click ()
Descarcă-mă
Sfârșitul Sub

Rezultat atunci când selectați Viteză și faceți clic pe OK.

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

wave wave wave wave wave