VBA-lijstvak

In VBA kun je een maken Keuzelijst waar een gebruiker een van de vermelde opties kan kiezen. Listbox wordt vaak gebruikt in Userforms, maar kan ook gebruikt worden in een Worksheet. In deze tutorial leer je hoe je een Listbox maakt, vult en verwijdert. U zult ook zien hoe u een gebruikerskeuze in VBA kunt krijgen en deze in code kunt gebruiken.

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

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

Een lijst maken

Om een ​​keuzelijst in het werkblad in te voegen, moet u naar de Tabblad Ontwikkelaars, Klik Invoegen en kies onder ActiveX-besturingselementen: Keuzelijst:

Afbeelding 1. Voeg een keuzelijst in het werkblad in

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

Afbeelding 2. Eigenschappen van keuzelijst wijzigen

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

Vul een Listbox in VBA-code in

Eerst moeten we de Listbox vullen met waarden. In de meeste gevallen moet een keuzelijst worden ingevuld wanneer de werkmap wordt geopend. Daarom moeten we een code plaatsen om de Listbox 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.lstListBox.Voeg item "Jan" toe.Voeg item "Michael" toe.Voeg item "Jennifer" toe.Voeg item "Lilly" toe.Voeg item "Robert" toeEindigt met

Zoals je kunt zien in afbeelding 3, hebben we onze Listbox gevuld met 5 namen (John, Michael, Jennifer, Lilly en Robert):

Afbeelding 3. Vul de Listbox in VBA

Een keuzelijst vullen vanuit een cellenbereik

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

Als u dit wilt inschakelen, moet u naar de Eigendommen van de ListBox en stel het attribuut LijstVullenBereik:

Afbeelding 4. Vul de keuzelijst uit het cellenbereik

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

Krijg een geselecteerd item van een keuzelijst in VBA

Het doel van een Listbox is om een ​​gebruikerskeuze te krijgen. Om een ​​waarde op te halen die door een gebruiker is geselecteerd, moet u deze code gebruiken:

123 Dim strSelectedItem As VariantstrSelectedItem = Blad1.lstListBox.Value

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

Afbeelding 5. Haal een geselecteerde waarde uit de Listbox in VBA

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

Een lijst wissen

Om een ​​Listbox in VBA te wissen, moet u gebruik maken van Duidelijk methode van Blad1.lstLijstBox object. Het zal alle items uit de Listbox verwijderen. Hier is de code:

1 Sheet1.lstListBox.Clear

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

Afbeelding 6. Wis de keuzelijst

Gebruik een keuzelijst in een gebruikersformulier

Zoals we al zeiden, wordt Listbox 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 7. 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 Keuzelijst om het aan te maken in het gebruikersformulier.

Afbeelding 8. Voeg een keuzelijst in het gebruikersformulier in

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.lstListBox.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 lijst met deze 5 namen vult:

Afbeelding 9. De keuzelijst 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