VBA ComboBox - Cum se creează și se utilizează ComboBox în VBA?

Excel VBA ComboBox

ComboBox este caracteristica formularului de utilizator în VBA , acestea sunt diferite de casetele de text, deoarece casetele de text sunt utilizate pentru a conține doar text și permitem utilizatorului să introducă orice tip de date, dar folosind casete combinate limităm utilizatorul pentru tipul de răspunsuri dorit astfel datele sunt în mod ordonat, sunt similare validării datelor din listă în Excel.

ComboBox poate fi comparat cu o listă derulantă în Excel, în foi de lucru. Am folosit validarea datelor pentru a furniza o listă derulantă, dar în VBA, există o caracteristică de formular de utilizator în care este utilizată pentru a furniza o listă derulantă în orice formă de utilizator, dar dacă dorim să utilizăm o casetă combinată în Excel, putem de asemenea, accesați-l din secțiunea dezvoltator de acolo putem crea casete combinate pentru celule individuale sau multiple.

Combo Box este foarte similar cu lista derulantă pe care o avem într-o foaie de lucru Excel; cu caseta combo, putem stoca valori predeterminate, astfel încât utilizatorii să facă selecția din lista disponibilă din caseta combo. Combo Box este utilizat în general împreună cu formularele de utilizator ca parte a obținerii de date de la utilizatori.

Formularele de utilizator sunt utile, dar având alte instrumente în formularul de utilizator este ceea ce face formularul de utilizator atât de special. Unul dintre instrumentele pe care le folosim adesea ca instrument pentru formularul de utilizator este „ComboBox”.

Top 2 moduri de a crea o combinație VBA ComboBox

# 1 - Utilizarea codării directe

În primul rând, vom vedea cum să utilizați Combo Box cu foaia de lucru. Deschideți oricare dintre foile de lucru din registrul de lucru Excel, accesați fila Dezvoltator și, sub această filă, avem un instrument numit „Inserați”. Faceți clic pe aceasta și, sub aceasta, avem două opțiuni Active X Controls & Form Controls în excel.

Din „Active X Controls”, alegeți „Combo Box”.

Acum puteți desena acest obiect pe oricare dintre foile de lucru.

Faceți clic dreapta pe caseta combinată și alegeți opțiunea „Proprietăți”.

Când alegeți proprietăți, se va deschide o listă imensă de proprietăți ale unei casete combinate.

Pentru această casetă combinată, vom oferi o listă cu numele departamentelor, așa că schimbați proprietatea numelui casetei combinate în „DeptComboBox”.

Acum, această casetă combinată va fi denumită „DeptComboBox”. Trebuie să oferim nume de departamente prestabilite, așa că aici am o listă de nume de departamente.

Acum trebuie să adăugăm aceste valori la lista de casete combinate. Putem face acest lucru în două moduri, prin codare sau prin manager de nume.

Faceți dublu clic pe Combobox și vă va duce la procedura macro VBA.

Dar trebuie să vedem aceste nume de departamente când se deschide registrul de lucru, deci faceți dublu clic pe „ThisWorkbook”.

Din lista derulantă, alegeți „Cartea de lucru”.

Din opțiuni, alegeți „Deschideți”.

Acum va crea un gol ca cel de mai jos.

În această macrocomandă, introduceți codul de mai jos.

Cod:

Private Sub Workbook_Open () With Worksheets ("Sheet1"). DeptComboBox .AddItem "Finance" .AddItem "Marketing" .AddItem "Merchandising" .AddItem "Operations" .AddItem "Audit" .AddItem "Client Servicing" End With End Sub

Ok, acum salvați și închideți registrul de lucru. Când redeschideți registrul de lucru, am putea vedea numele departamentelor în acesta.

# 2 - Utilizarea UserForm

Un alt mod de a adăuga valori la ComboBox este prin utilizarea formularului de utilizator. Mai întâi, dați un nume celulelor ca „Departament”.

Accesați Editorul Visual Basic și introduceți Formular de utilizator din opțiunea INSERT.

Acum este creat noul formular de utilizator.

Lângă formularul de utilizator, putem vedea „Casetă de instrumente” din această casetă de instrumente, putem introduce „Casetă combinată”.

Now the combo box is embedded in the user form. In this method, to open the properties option, select the combo box and press the F4 key to open the properties window.

Scroll down the properties tab and choose “Row Source.”

For this “Row Source,” enter the name that we had given to department name cells.

Now this combo box holds the reference of the name “Department.”

Now run the user form by using the run button.

Now we can see a list of department names in the combo box on the user form.

Practically user form is associated with a combo box, text box, and many other tools. We will create a simple data entry user form with a text box & combo box.

Create a user form like the below.

Create two Command Buttons.

Double click on the “SUBMIT” button it will open up below macro.

Inside this macro, add the below code.

Code:

Private Sub CommandButton1_Click () Dim LR As Long LR = Cells (Rows.Count, 1). End (xlUp) .Row + 1 Cells (LR, 1) .Value = TextBox1.Value Cells (LR, 2) .Value = ComboBox1 .Value End Sub

Acum faceți dublu clic pe butonul „CANCEL” și adăugați codul de mai jos.

Acum, în foaia de lucru, creați un șablon ca cel de mai jos.

Acum rulați formularul de utilizator și se va deschide astfel.

Introduceți numele angajatului și alegeți numele departamentului din lista combinată.

Faceți clic pe butonul TRIMITE și vedeți magia.

Am primit valorile introduse în formatul de tabel pe care l-am creat.

Lucruri de amintit

  • COMBO BOX are și propriile sale proprietăți.
  • Adăugarea de valori la listă vine în două moduri. Una este o modalitate de codificare, iar alta este o referință de nume de gamă.
  • COMBO BOX face de obicei parte din formularul de utilizator.

Articole interesante...