Hoe vult u een keuzelijst in Excel met gegevens uit een benoemd bereik?
U kunt een keuzelijst (ActiveX-besturingselement) koppelen aan gegevens uit een bepaald bereik door dat bereik toe te voegen aan de eigenschap **ListFillRange** van de keuzelijst. Maar weet u ook hoe u een keuzelijst vult met gegevens uit een benoemd bereik in Excel? Stel dat u een celbereik op uw werkblad een naam hebt gegeven en nu deze celnaam aan een keuzelijst wilt koppelen. Wanneer u die celnaam selecteert in één keuzelijst, worden alle celwaarden uit het bijbehorende benoemde bereik automatisch weergegeven in een andere keuzelijst. In dit artikel wordt een VBA-methode beschreven om dit probleem op te lossen.
Keuzelijst vullen met gegevens uit een benoemd bereik met VBA-code
Keuzelijst vullen met gegevens uit een benoemd bereik met VBA-code
Volg onderstaande stappen om een keuzelijst te vullen met gegevens uit een benoemd bereik in Excel.
1. Selecteer alle koppen (in dit geval selecteer ik A1:E1) in uw werkblad en typ vervolgens een naam in het Naamvak, zoals op onderstaande afbeelding is weergegeven.

2. Selecteer de gegevens van elke kolom, exclusief de kop, en geef elke kolom daarna een unieke naam via het Naamvak. Zie afbeelding:
In dit voorbeeld heb ik de bereiken A2:A8, B2:B8, C2:C8, D2:D8 en E2:E8 respectievelijk de namen Datum, Winkel, Artikelen, Verkopen en Weekdag gegeven.

3. Voeg vervolgens een keuzelijst in door te klikken op Ontwikkelaar > Invoegen > Keuzelijst (ActiveX-besturingselement). Zie afbeelding:

4. Herhaal stap 3 om nog een keuzelijst toe te voegen aan het werkblad.

5. Klik met de rechtermuisknop op het bladtabblad en selecteer vervolgens Code weergeven in het contextmenu. Zie afbeelding:

6. Plak in het geopende venster van Microsoft Visual Basic for Applications de onderstaande VBA-code in het codevenster.
VBA-code: Keuzelijst vullen met gegevens uit 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 alle celnamen worden weergegeven, en ComboBox2 de naam van de keuzelijst waarin de gegevens uit het opgegeven benoemde bereik automatisch worden ingevuld. „Headers” is de celnaam die u 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 vervolgens op de pijlknop in de eerste keuzelijst – u ziet dan direct alle benoemde bereiken verschijnen. Zie afbeelding:

Wanneer u een benoemd bereik selecteert in de eerste keuzelijst, worden de bijbehorende celgegevens automatisch weergegeven in de tweede keuzelijst, zoals op onderstaande afbeelding is weergegeven:

Maak eenvoudig Keuzelijst met selectievakjes in Excel:
Met de Selectievakjes toevoegen aan keuzelijst-functie van Kutools voor Excel maakt u eenvoudig een keuzelijst met selectievakjes in een beperkt bereik, het huidige werkblad, het huidige werkboek of in alle geopende werkmappen—precies zoals u dat wilt.
Download en probeer het nu! (30 dagen gratis proefversie)
Gerelateerde artikelen:
- Hoe kopieert u de waarde van een keuzelijst naar de actieve cel in Excel?
- Hoe geeft u de datumnotatie weer in de uitvoer van een keuzelijst in Excel?
- Hoe voorkomt of schakelt u het typen in een keuzelijst in Excel uit?
- Hoe vult u bij het openen van een werkmap automatisch een keuzelijst met opgegeven gegevens?
- Hoe vult u andere cellen automatisch in wanneer u waarden selecteert in een vervolgkeuzelijst in Excel?
Beste Office-productiviteitshulpmiddelen
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie zoals nooit tevoren.Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en Tijd besparen.Klik hier om de functie te krijgen die u het meest nodig heeft...
Office Tab brengt een tabbladinterface naar Office en maakt uw werk veel eenvoudiger
- Schakel tabbladbewerking en -lezen in voor Word, Excel, PowerPoint, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten aan in nieuwe tabbladen binnen hetzelfde venster, in plaats van in afzonderlijke vensters.
- Verhoogt uw productiviteit met 50 % en bespaart u dagelijks honderden muisklikken!
Alle Kutools-add-ins in één installatieprogramma.
Kutools for Office bundelt add-ins voor Excel, Word, Outlook en PowerPoint, plus Office Tab Pro—ideaal voor teams die met meerdere Office-apps werken.
- Alles-in-één suite— add-ins voor Excel, Word, Outlook & PowerPoint plus Office Tab Pro
- Één installatieprogramma, één licentie— binnen enkele minuten klaar (MSI-geschikt)
- Werkt beter samen— gestroomlijnde productiviteit in alle Office-apps
- 30 dagen volledig functionele proefversie— geen registratie, geen creditcard
- Beste prijs-kwaliteitverhouding— bespaar ten opzichte van het afzonderlijk kopen van add-ins