KutoolsforOffice — Eén oplossing, vijf krachtige tools.Meer bereiken met minder moeite.

Hoe maak je dynamische, cascaderende keuzelijsten in Excel?

AuteurSiluvia Wijzigingsdatum

U weet misschien al hoe u een gecascadeerde validatiekeuzelijst in Excel maakt. Maar hoe creëert u dynamische, gecascadeerde keuzelijsten in Excel? In dit artikel wordt een VBA-methode beschreven om dat voor elkaar te krijgen.

Maak dynamische cascaderende keuzelijsten met VBA-code


Maak dynamische cascaderende keuzelijsten met VBA-code

Zoals in de onderstaande afbeelding te zien is, moet u een hoofdkeuzelijst maken met de unieke waarden uit de kolom „Drink” en vervolgens alle bijbehorende waarden tonen in de tweede keuzelijst, afhankelijk van de selectie in de hoofdkeuzelijst. De volgende VBA-code helpt u hierbij — volg deze stappen.

dynamische koppelende keuzelijsten

1. Selecteer eerst een lege cel en voer de matrixformule =IFERROR(INDEX($A$2:$A$11, MATCH(0,COUNTIF($J$1:J1, $A$2:$A$11), 0)),„") in de formulebalk in. Druk vervolgens op Ctrl + Shift + Enter. Sleep daarna de vulgreep om alle unieke waarden op te halen. Zie afbeelding:

alle unieke waarden weergeven met formule

Opmerking: In de formule is $A$2:$A$11 het bereik waaruit u unieke waarden wilt extraheren. J1 is de cel boven de cel waarin uw formule zich bevindt.

Tip: Als de formule te lastig is om te onthouden en te gebruiken, is de Selecteer duplicaat/unieke cellen-functie van Kutools voor Excel een uitstekende keuze om snel alle unieke waarden uit een kolom te extraheren.

Selecteer de kolom met de unieke waarden die u wilt extraheren. Activeer de functie door te klikken op Kutools > Selecteren > Selecteer duplicaat/unieke cellen. In het dialoogvenster Selecteer duplicaat/unieke cellen kiest u de optie Unieke waarden (Eerste duplicaat opnemen) en klikt u op OK. Vervolgens worden alle unieke waarden in de kolom geselecteerd. Kopieer en plak ze op een nieuwe locatie. Zie afbeelding:

unieke waarden selecteren met Kutools

Kutools voor Excel: met meer dan 200 handige Excel-add-ins, gratis uit te proberen zonder beperkingen gedurende 60 dagen.Download en start nu uw gratis proefversie!

2. Voeg twee keuzelijsten afzonderlijk in door te klikken op Ontwikkelaar > Invoegen > Keuzelijst (ActiveX-besturingselement). Zie afbeelding:

klik op Keuzelijst op het tabblad Ontwikkelaar

3. Klik met de rechtermuisknop op de hoofdkeuzelijst en selecteer Eigenschappen in het contextmenu. Wijzig in het dialoogvenster Eigenschappen het veld (Naam) naar Drink of een andere gewenste naam, voer het celbereik met de geëxtraheerde unieke waarden in bij het veld ListFillRange en sluit het dialoogvenster.

geef de opties op in het deelvenster Eigenschappen

4. Herhaal stap 3 om het veld (Naam) van de tweede keuzelijst in het dialoogvenster Eigenschappen te wijzigen in Item.

5. Klik met de rechtermuisknop op het werkbladtabblad en selecteer Code weergeven in het contextmenu. Kopieer vervolgens de onderstaande VBA-code naar het codovenster. Zie afbeelding:

VBA-code: Maak dynamische cascaderende keuzelijsten in Excel

Dim xPreStr As String
Private Sub Drink_Click()
'Update by Extendoffice 2018/06/04
    Dim I, xRows As Long
    Dim xRg As Range
    Dim xRegStr As String
    Application.ScreenUpdating = False
    xRegStr = Me.Drink.Text
    Set xRg = Range("A2:A11")
    xRows = xRg.Rows.Count
    If xRegStr <> xPreStr Then
    Me.Item.Clear
   'Me.OtherListBoxName.Clear
    Set xRg = xRg(1)
    For I = 1 To xRows
        If xRg.Offset(I - 1).Value = xRegStr Then
            Me.Item.AddItem xRg.Offset(I - 1, 1).Value
            'Me.OtherListBoxName.AddItem xRg.Offset(I - 1, 2).Value
        End If
    Next
    xPreStr = xRegStr
    End If
    Application.ScreenUpdating = True
End Sub

Opmerkingen: In de code zijn Drink en Item de namen van de twee keuzelijsten; pas deze aan naar uw eigen namen.

klik op Code weergeven om de code in de module te plakken

6. Druk op de toetsencombinatie Alt+Q om het venster Microsoft Visual Basic for Applications te sluiten.

7. Schakel de ontwerpmodus uit door te klikken op Ontwikkelaar > Ontwerpmodus.

Vanaf nu ziet u, zodra u een dranksoort zoals Koffie selecteert in de hoofdkeuzelijst, alle bijbehorende koffie-items in de tweede lijst. Kiest u Thee of Wijn, dan worden alleen de thee- of wijnitems weergegeven in die tweede keuzelijst. Zie afbeelding:

dynamische koppelende keuzelijsten zijn gemaakt



Gerelateerde artikelen:

Beste Office-productiviteitshulpmiddelen

🤖KUTOOLS AI Assistant: Revolutioneer Data-analyse op basis van:Intelligente uitvoering   |  Genereer code|  Maak aangepaste formules  |  Analyseer gegevens en genereer grafieken|  Roep Verbeterde functies aan
Populaire functies:Zoeken, markeren of Dubbele waarden markeren   |  Verwijder lege rijen   |  Kolommen samenvoegen of cellen zonder gegevensverlies   |   Afronden zonder formule...
Super ZOEKEN:VLookup met meerdere criteria  |  VLookup met meerdere waarden  |   VLookup over meerdere werkbladen   |   Fuzzy Match....
Geavanceerde keuzelijst:Snel een keuzelijst maken   |  Afhankelijke keuzelijst   |  Keuzelijst met meervoudige selectie....
Kolombeheerder:Voeg een specifiek aantal kolommen toe|Verplaats kolommen|Wissel zichtbaarheidsstatus van verborgen kolommen|Vergelijk bereiken en kolommen...
Uitgelichte functies:Rasterfocus   |  Ontwerpweergave   |Verbeterde formulebalk   | Werkmap- en bladbeheerder   |  Bronnenbibliotheek(Automatische tekst)|  Datumkiezer   |  Werkbladen samenvoegen  |  Versleutelen/Cellen decoderen   | E-mails verzenden op basis van lijst   |  Superfilter   |   Speciaal filter(Filter cellen met vetgedrukt lettertype/cursief/doorgestreept...) ...
Top 15 gereedschapssets:12 Teksthulpmiddelen(Tekst toevoegen,Specifieke tekens verwijderen, ...)|   50+Grafiektypen(Gantt-diagram, ...)|   40+ Praktische formules(Leeftijd berekenen op basis van geboortedatum, ...)|   19 Invoeghulpmiddelen(QR-code Invoegen,Afbeelding invoegen vanaf pad, ...)|   12 Conversiehulpmiddelen(Omzetten naar woorden,Wisselkoersconversie, ...)|   7 Samenvoegen en splitsenhulpmiddelen(Geavanceerd samenvoegen van rijen,Cellen splitsen, ...)|... en meer
Gebruik Kutools in uw voorkeurstaal – ondersteunt Engels, Spaans, Duits, Frans, Chinees en 40+ andere talen!

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.

ExcelWordOutlookTabsPowerPoint
  • 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