VBA ComboBox - Hoe ComboBox in VBA te maken en te gebruiken?

Inhoudsopgave

Excel VBA ComboBox

ComboBox is de gebruikersformulierfunctie in VBA , ze verschillen van de tekstvakken omdat tekstvakken worden gebruikt om alleen tekst te bevatten en we de gebruiker toestaan ​​elk type gegevens in te voeren, maar door keuzelijsten met invoervak ​​te gebruiken, beperken we de gebruiker tot het type antwoord dat we willen dus de gegevens zijn op een ordelijke manier, het is vergelijkbaar met de validatie van lijstgegevens in Excel.

ComboBox kan worden vergeleken met een vervolgkeuzelijst in Excel, in werkbladen. We hebben gegevensvalidatie gebruikt om een ​​vervolgkeuzelijst te bieden, maar in VBA is er een gebruikersformulierfunctie waar deze wordt gebruikt om een ​​vervolgkeuzelijst te bieden in elk gebruikersformulier, maar als we een keuzelijst met invoervak ​​in Excel willen gebruiken, kunnen we dat ook openen vanuit de ontwikkelaarssectie van daaruit kunnen we keuzelijsten met invoervak ​​maken voor individuele of meerdere cellen.

Combo Box lijkt erg op de vervolgkeuzelijst die we in een Excel-werkblad hebben; Met de combobox kunnen we vooraf bepaalde waarden opslaan zodat gebruikers de selectie uit de lijst beschikbaar maken vanuit de combobox. Combo Box wordt over het algemeen samen met gebruikersformulieren gebruikt als onderdeel van het verkrijgen van de input van de gebruikers.

Gebruikersformulieren zijn handig, maar het hebben van andere tools op het gebruikersformulier maakt het gebruikersformulier zo speciaal. Een van de tools die we vaak gebruiken als tool voor gebruikersformulieren is 'ComboBox'.

Top 2 manieren om een ​​VBA ComboBox te maken

# 1 - Directe codering gebruiken

Eerst zullen we zien hoe u Combo Box met het werkblad kunt gebruiken. Open een van de werkbladen in de Excel-werkmap, ga naar het tabblad Ontwikkelaar en onder dit tabblad hebben we een tool genaamd 'Invoegen'. Klik hierop en daaronder hebben we twee opties: Active X Controls & Form Controls in Excel.

Kies bij 'Active X Controls' de optie 'Combo Box'.

Nu kunt u dit object op elk van de werkbladen tekenen.

Klik met de rechtermuisknop op de combobox en kies de optie "Eigenschappen".

Wanneer u eigenschappen kiest, wordt een enorme lijst met eigenschappen van een keuzelijst met invoervak ​​geopend.

Voor deze keuzelijst met invoervak ​​gaan we een lijst met afdelingsnamen geven, dus verander de eigenschap name van de keuzelijst in "DeptComboBox."

Nu wordt deze keuzelijst met invoervak ​​aangeduid met de naam "DeptComboBox." We moeten vooraf bepaalde afdelingsnamen geven, dus hier heb ik een lijst met afdelingsnamen.

Nu moeten we deze waarden toevoegen aan de combo box-lijst. We kunnen dit op twee manieren doen, via codering of via name manager.

Dubbelklik op de Combobox en u gaat naar de VBA-macroprocedure.

Maar we moeten deze afdelingsnamen zien wanneer de werkmap wordt geopend, dus dubbelklik op "ThisWorkbook".

Kies 'Werkmap' in de vervolgkeuzelijst.

Kies 'Openen' uit de opties.

Nu zal het een blanco maken zoals de onderstaande.

Voer binnen deze macro de onderstaande code in.

Code:

Private Sub Workbook_Open () met werkbladen ("Sheet1"). DeptComboBox .AddItem "Finance" .AddItem "Marketing" .AddItem "Merchandising" .AddItem "Operations" .AddItem "Audit" .AddItem "Client Servicing" Einde met End Sub

Ok, sla nu de werkmap op en sluit deze. Wanneer u de werkmap opnieuw opent, kunnen we de afdelingsnamen erin zien.

# 2 - UserForm gebruiken

Een andere manier om waarden aan de ComboBox toe te voegen, is door het gebruikersformulier te gebruiken. Geef eerst de cellen een naam als 'Afdeling'.

Ga naar Visual Basic Editor en voeg het gebruikersformulier in via de optie INSERT.

Nu is het nieuwe gebruikersformulier gemaakt.

Naast het gebruikersformulier kunnen we "Toolbox" van deze toolbox zien, we kunnen "Combo Box" invoegen.

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

Dubbelklik nu op de knop "ANNULEREN" en voeg de onderstaande code toe.

Maak nu in het werkblad een sjabloon zoals hieronder.

Voer nu het gebruikersformulier uit en het wordt zo geopend.

Voer de naam van de werknemer in en kies de afdelingsnaam uit de combo-lijst.

Klik op de SUBMIT-knop en zie de magie.

We hebben de waarden ingevoerd in het tabelformaat dat we hebben gemaakt.

Dingen om te onthouden

  • COMBO BOX heeft ook zijn eigen eigenschappen.
  • Het toevoegen van waarden aan de lijst is mogelijk op twee manieren. De ene is een coderingsmanier en de andere is een verwijzing naar een bereiknaam.
  • COMBO BOX maakt meestal deel uit van het gebruikersformulier.

Interessante artikelen...