VBA ComboBox

ComboBoxen kunnen gebruikers een optie selecteren in een vervolgkeuzelijst. ComboBoxen kunnen worden gemaakt in VBA UserForms of met een Excel-werkblad. In deze zelfstudie leert u hoe u ComboBoxen kunt maken en manipuleren in VBA en in Excel-werkbladen.

Als je wilt leren hoe je een Listbox maakt, klik dan hier: VBA Listbox

Als u wilt leren hoe u een Checkbox maakt, klik dan hier: VBA Checkbox

Maak een ComboBox in Excel-werkblad

Om een ​​ComboBox in het werkblad in te voegen, moet je naar de Tabblad Ontwikkelaars, Klik Invoegen en kies onder ActiveX-besturingselementen: combobox:

Afbeelding 1. Voeg een ComboBox in het werkblad in

Wanneer u de ComboBox selecteert die u hebt ingevoegd, kunt u klikken op Eigendommen onder de Tabblad Ontwikkelaars:

Afbeelding 2. Eigenschappen van ComboBox wijzigen

Hier kunt u verschillende eigenschappen van de ComboBox instellen. Om te beginnen hebben we het attribuut gewijzigd: Naam tot cmbComboBox. Nu kunnen we de ComboBox met deze naam in VBA-code gebruiken.

Vul een ComboBox in VBA-code in

Eerst moeten we de ComboBox vullen met waarden. In de meeste gevallen moet een ComboBox worden gevuld wanneer de werkmap wordt geopend. Daarom moeten we een code plaatsen om de ComboBox in object te vullen Werkboek, procedure Open. Deze procedure wordt elke keer uitgevoerd als een gebruiker de werkmap opent. Hier is de code:

123456789 Met Sheet1.cmbComboBox.Voeg item "Jan" toe.Voeg item "Michael" toe.Voeg item "Jennifer" toe.Voeg item "Lilly" toe.Voeg item "Robert" toeEindigt met

Wanneer u op het vervolgkeuzemenu klikt, krijgt u 5 namen om uit te kiezen (John, Michael, Jennifer, Lilly en Robert):

Afbeelding 3. Vul de ComboBox in VBA

Een ComboBox vullen vanuit een cellenbereik

Een andere mogelijke manier om een ​​ComboBox te vullen is om het een gebruiker te laten doen. Aan het cellenbereik kan een ComboBox worden gekoppeld. Bij deze benadering wordt elke keer dat een gebruiker een nieuwe waarde invoert in het cellenbereik, de ComboBox bijgewerkt met die waarde.

Als u dit wilt inschakelen, moet u naar de Eigendommen van de ComboBox en stel het attribuut in LijstVullenBereik naar het cellenbereik (in ons geval E2:E5):

Afbeelding 4. Vul de ComboBox uit het cellenbereik

We hebben onze ComboBox gekoppeld aan de reeks E2:E5, waar we namen plaatsen die we willen (Nathan, Harry, George, Roberta). Als gevolg hiervan is de ComboBox nu gevuld met deze namen:

Afbeelding 5. Gevulde ComboBox uit het cellenbereik

Krijg een geselecteerd item van een ComboBox in VBA

Het doel van een ComboBox is om de gebruiker een keuze te geven. Om een ​​gebruikerskeuze op te halen, moet u deze code gebruiken:

123 Dim strSelectedItem As VariantstrSelectedItem = Blad1.cmbComboBox.Value

De gebruikersselectie staat in het attribuut Waarde van Blad1.cmbComboBox object. Deze waarde wordt toegewezen aan de variabele strSelectedItem:

Afbeelding 6. Haal een geselecteerde waarde uit de ComboBox in VBA

Wij selecteerden Julia in de ComboBox en voerde de procedure uit. Zoals je kunt zien in afbeelding 5, is de waarde van de strSelectedItem is Julia, wat de waarde is die we hebben geselecteerd. Nu kun je deze variabele verder in de code verwerken.

Een combobox wissen

Als u een ComboBox in VBA wilt wissen, moet u gebruiken Duidelijk methode van Blad1.lstComboBox object. Het zal alle items uit de ComboBox verwijderen. Hier is de code:

1 Blad1.cmbComboBox.Clear

Wanneer we de code uitvoeren, krijgen we de lege ComboBox:

Afbeelding 7. Wis de ComboBox

Gebruik een ComboBox in een gebruikersformulier

Zoals we al zeiden, wordt Combobox het meest gebruikt in Userforms. Om uit te leggen hoe je dat kunt doen, voegen we eerst een Userform in. Klik in de VBA-editor met de rechtermuisknop op Modulenaam, klik op Invoegen en kies Gebruikersformulier:

Afbeelding 8. Een gebruikersformulier invoegen

Om bedieningselementen voor het invoegen weer te geven, moet u de Gereedschapskist. Klik hiervoor op deGereedschapskist pictogram in de werkbalk. Daarna krijgt u de vensters met alle beschikbare bedieningselementen. U kunt klikken op ComboBox om het aan te maken in het gebruikersformulier.

Afbeelding 9. Een ComboBox invoegen in het gebruikersformulier

We zullen de ComboBox een naam geven cmbComboBox. Om het te vullen met waarden, moeten we de volgende code in de methode plaatsen: Initialiseren van het object Gebruikersformulier:

12345678910111213 Private Sub UserForm_Initialize()Met UserForm1.cmbComboBox.Voeg item "Jan" toe.Voeg item "Michael" toe.Voeg item "Jennifer" toe.Voeg item "Lilly" toe.Voeg item "Robert" toeEindigt metEinde sub

Deze code wordt elke keer geactiveerd als een gebruiker het gebruikersformulier uitvoert en de combobox vult met deze 5 namen:

Afbeelding 10. De ComboBox met waarden in het gebruikersformulier

Als u geselecteerde waarde uit de ComboBox wilt halen, moet u dezelfde logica gebruiken voor de Combobox in een werkblad, wat eerder in het artikel is uitgelegd.

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave