Skip to main content

Hoe dynamische cascaderende lijstvakken maken in Excel?

Author: Siluvia Last Modified: 2025-05-29

U weet misschien hoe u een cascaderende validatie-keuzelijst kunt maken in Excel. Maar hoe maakt u dynamische cascaderende lijstvakken in Excel? Dit artikel introduceert een VBA-methode om dit te bereiken.

Dynamische cascaderende lijstvakken maken met VBA-code


Dynamische cascaderende lijstvakken maken met VBA-code

Zoals in onderstaande schermafbeelding te zien is, moet u een bovenliggend lijstvak maken dat de unieke waarden van de kolom Drink bevat en alle bijbehorende waarden in het tweede lijstvak weergeven op basis van de selectie in het bovenliggende lijstvak. De volgende VBA-code helpt u dit te bereiken. Volg deze stappen.

dynamic cascading list boxes

1. Ten eerste moet u alle unieke waarden uit de kolom Drink extraheren. Selecteer een lege cel, voer de matrixformule =ALS.FOUT(INDEX($A$2:$A$11; VERGELIJKEN(0;AANTAL.ALS($J$1:J1; $A$2:$A$11); 0));"") in de Formulebalk in en druk vervolgens op Ctrl + Shift + Enter. Sleep daarna het Vulhandvat naar beneden om alle unieke waarden te krijgen. Zie onderstaande schermafbeelding:

list all unique values with formula

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

Tip: Als de formule te moeilijk is om te onthouden en te gebruiken, dan is de functie Dubbele & Unieke Cellen Selecteren van Kutools voor Excel een goede keuze om snel alle unieke waarden uit een kolom te extraheren.

Selecteer de kolom die de unieke waarden bevat die u wilt extraheren. Activeer vervolgens het hulpprogramma door te klikken op Kutools > Selecteren > Dubbele & Unieke Cellen Selecteren. In het dialoogvenster Dubbele & Unieke Cellen Selecteren selecteert u de optie Alle unieke waarden (Inclusief eerste duplicaten) en klikt u op de knop OK. Alle unieke waarden worden nu geselecteerd in de kolom. Kopieer en plak ze naar een nieuwe locatie. Zie onderstaande schermafbeelding:

select unique values with kutools

Kutools voor Excel: met meer dan 200 handige Excel-add-ins, gratis te proberen zonder beperking gedurende 60 dagen. Download en probeer het nu gratis!

2. Voeg twee lijstvakken afzonderlijk in door te klikken op Ontwikkelaar > Invoegen > Lijstvak (ActiveX-besturingselement). Zie onderstaande schermafbeelding:

click List Box from Developer tab

3. Klik met de rechtermuisknop op het bovenliggende lijstvak en selecteer Eigenschappen in het contextmenu. In het dialoogvenster Eigenschappen wijzigt u het veld (Naam) in Drink of een andere naam naar keuze, voert u het celbereik met de geëxtraheerde unieke waarden in het veld ListFillRange in en sluit het dialoogvenster.

specify the options in the Properties pane

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

5. Klik met de rechtermuisknop op het werkbladtabblad en selecteer Code Weergeven in het rechtsklikmenu. Kopieer vervolgens onderstaande VBA-code in het Code-venster. Zie onderstaande schermafbeelding:

VBA-code: Dynamische cascaderende lijstvakken maken 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 lijstvakken, wijzig ze naar uw eigen namen.

click View Code to pate the code into the module

6. Druk op de toetsen 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, wanneer u een soort drank zoals Koffie selecteert in het bovenliggende lijstvak, worden alle koffie-items weergegeven in het tweede lijstvak. Als u Thee of Wijn selecteert, worden alleen de thee- of wijntypes weergegeven in het tweede lijstvak. Zie onderstaande schermafbeelding:

dynamic cascading list boxes are created



Gerelateerde artikelen:

Beste Office-productiviteitstools

🤖 Kutools AI Assistent: Breng een revolutie teweeg in data-analyse Methode: Intelligente uitvoering |Code genereren |Aangepaste formules maken |Gegevens analyseren en grafieken genereren |Kutools-functies gebruiken
Populaire functies: Dubbele waarden markeren, markeren of identificeren | Verwijder lege rijen | Kolommen of cellen samenvoegen zonder gegevensverlies | Afronden ...
Super ZOEKEN: VLookup met meerdere criteria | VLookup met meerdere waarden | Meervoudig-blad opzoeken | Fuzzy Match ...
Geavanceerde keuzelijst: Snel keuzelijst maken | Afhankelijke keuzelijst | Meervoudige selectie keuzelijst ...
Kolombeheer: Specifiek aantal kolommen toevoegen | Kolommen verplaatsen | Zichtbaarheid van verborgen kolommen wisselen | Bereik & kolommen vergelijken ...
Uitgelichte functies: Rasterfocus | Ontwerpweergave | Verbeterde formulebalk | Werkboek- & Werkbladbeheer | AutoTekstbibliotheek | Datumkiezer | Gegevens samenvoegen | Cellen coderen/decoderen | E-mail verzenden per lijst | Superfilter | Speciaal filter (filter cellen met vetgedrukt/cursief/doorhalen...) ...
Top15 toolsets:12 Teksttools (Tekst toevoegen, Specifieke tekens verwijderen, ...) |50+ Grafiek type (Gantt-diagram, ...) |40+ Praktische formules (Leeftijd berekenen op basis van geboortedatum, ...) |19 Invoegtools (QR-code invoegen, Afbeelding invoegen vanaf pad, ...) | 12 Conversietools (Omzetten naar woorden, Valutaconversie, ...) | 7 Samenvoeg- & Opsplitstools (Geavanceerd samenvoegen van rijen, Cellen splitsen, ...) | ... en meer

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!