Hoe vul je een Keuzelijst met gegevens van een benoemd bereik in Excel?
Je kunt een keuzelijst (ActiveX Control) specificeren met gegevens van een bepaald bereik door het bereik toe te voegen aan de ListFillRange-eigenschappen van de keuzelijst. Maar weet je hoe je een keuzelijst vult met gegevens van een benoemd bereik in Excel? Bijvoorbeeld, je hebt een bereik van cellen in je werkblad benoemd en moet nu deze bereiknaam specificeren in een keuzelijst. Wanneer je de bereiknaam selecteert in één keuzelijst, worden alle celwaarden in dit benoemde bereik automatisch ingevuld in een andere keuzelijst. Dit artikel introduceert een VBA-methode om dit probleem op te lossen.
Vul een keuzelijst met gegevens van een benoemd bereik met VBA-code
Vul een keuzelijst met gegevens van een benoemd bereik met VBA-code
Volg de volgende stappen om een keuzelijst te vullen met gegevens van een benoemd bereik in Excel.
1. Selecteer alle kolomkoppen (in dit geval selecteer ik A1:E1) in je werkblad en typ vervolgens een naam in het Naamvak zoals in onderstaande schermafbeelding te zien is.
2. Selecteer de gegevens van elke kolom behalve de kop en noem vervolgens de kolom apart in het Naamvak. Zie schermafbeelding:
In dit geval heb ik de bereiken A2:A8, B2:B8, C2:C8, D2:D8 en E2:E8 respectievelijk benoemd als Datum, Winkel, Items, Verkopen en Weekdag.
3. Voeg vervolgens een keuzelijst in door te klikken op Ontwikkelaar > Invoegen > Keuzelijst (ActiveX Control). Zie schermafbeelding:
4. Herhaal stap 3 om nog een keuzelijst in het werkblad in te voegen.
5. Klik met de rechtermuisknop op het tabblad van het blad en klik vervolgens op Weergave Code in het contextmenu. Zie schermafbeelding:
6. Kopieer en plak in het venster Microsoft Visual Basic for Applications de volgende VBA-code in het Code-venster.
VBA-code: Vul een keuzelijst met gegevens van een benoemd bereik
Private Sub ComboBox1_Change()
'Updated by Extendoffice 2018/1/30
Dim xRg As Range
Set xRg = Range(Me.ComboBox1.Text)
Me.ComboBox2.List = Application.WorksheetFunction.Transpose(xRg)
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim xRg As Range
Set xRg = Range("Headers")
Me.ComboBox1.List = Application.WorksheetFunction.Transpose(xRg)
End Sub
Opmerking: In de code is ComboBox1 de naam van de keuzelijst waarin je alle bereiknamen zult weergeven, en ComboBox2 is de naam van de keuzelijst waarin de gegevens van het gespecificeerde benoemde bereik zullen worden ingevuld. “Kopteksten” is de bereiknaam die je in stap 1 hebt gemaakt.
7. Schakel de Ontwerpmodus uit door te klikken op Ontwikkelaar > Ontwerpmodus.
8. Klik op een willekeurige cel in het werkblad om de code te activeren. Klik op de pijlknop in de eerste keuzelijst, je kunt zien dat alle benoemde bereiken erin staan vermeld. Zie schermafbeelding:
Wanneer je een benoemd bereik selecteert in de eerste keuzelijst, worden de bijbehorende celgegevens ingevuld in de tweede keuzelijst zoals in onderstaande schermafbeelding te zien is:
Maak eenvoudig een keuzelijst met selectievakjes in Excel:
De Keuzelijst met selectievakjes functie van Kutools voor Excel kan je helpen om eenvoudig een keuzelijst met selectievakjes te maken in een gespecificeerd bereik, huidig werkblad, huidig werkboek of alle geopende werkboeken, afhankelijk van je behoeften.
Download en probeer het nu! (30-dagen gratis proefversie)
Gerelateerde artikelen:
- Hoe kopieer je de waarde van een keuzelijst naar de actieve cel in Excel?
- Hoe geef je datumnotatie weer in de uitkomst van een keuzelijst in Excel?
- Hoe voorkom je of schakel je typen uit in een keuzelijst in Excel?
- Hoe vul je een keuzelijst met gespecificeerde gegevens bij het openen van een werkboek?
- Hoe vul je andere cellen automatisch in bij het selecteren van waarden in een Excel-keuzelijst?
Beste Office-productiviteitstools
Versterk je Excel-vaardigheden met Kutools voor Excel en ervaar ongeëvenaarde efficiëntie. Kutools voor Excel biedt meer dan300 geavanceerde functies om je productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die je het meest nodig hebt...
Office Tab brengt een tabbladinterface naar Office en maakt je werk veel eenvoudiger
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster, in plaats van in nieuwe vensters.
- Verhoog je productiviteit met50% en bespaar dagelijks honderden muisklikken!