Zum Hauptinhalt springen

Wie erstellt man dynamische kaskadierende Listenfelder in Excel?

Author: Siluvia Last Modified: 2025-05-28

Sie wissen vielleicht, wie man eine kaskadierende Validierungs-Dropdown-Liste in Excel erstellt. Aber wie erstellt man dynamische kaskadierende Listenfelder in Excel? Dieser Artikel stellt eine VBA-Methode vor, um dies zu erreichen.

Dynamische kaskadierende Listenfelder mit VBA-Code erstellen


Dynamische kaskadierende Listenfelder mit VBA-Code erstellen

Wie im folgenden Screenshot gezeigt, müssen Sie ein übergeordnetes Listenfeld erstellen, das die eindeutigen Werte der Spalte „Getränk“ enthält, und alle entsprechenden Werte im zweiten Listenfeld basierend auf der Auswahl im übergeordneten Listenfeld anzeigen. Der folgende VBA-Code hilft Ihnen dabei. Bitte folgen Sie den nachstehenden Schritten.

dynamic cascading list boxes

1. Zuerst müssen Sie alle eindeutigen Werte aus der Spalte „Getränk“ extrahieren. Wählen Sie eine leere Zelle aus, geben Sie die Array-Formel =WENNFEHLER(INDEX($A$2:$A$11; VERGLEICH(0;ZÄHLENWENN($J$1:J1; $A$2:$A$11); 0));"") in die Formel-Leiste ein und drücken Sie dann die Tastenkombination Strg + Umschalt + Eingabetaste. Ziehen Sie dann den Ausfüllkästchen-Balken, um alle eindeutigen Werte zu erhalten. Siehe Screenshot:

list all unique values with formula

Hinweis: In der Formel ist $A$2:$A$11 der Bereich, aus dem Sie eindeutige Werte extrahieren möchten. J1 ist die Zelle oberhalb der Position, an der sich Ihre Formel befindet.

Tipp: Wenn die Formel zu schwer zu merken und zu handhaben ist, ist das Hilfsprogramm „Doppelte & Eindeutige Zellen auswählen“ von Kutools für Excel eine gute Wahl, um schnell alle eindeutigen Werte aus einer Spalte zu extrahieren.

Bitte wählen Sie die Spalte aus, die die eindeutigen Werte enthält, die Sie extrahieren möchten. Aktivieren Sie das Hilfsprogramm, indem Sie auf Kutools > Auswählen > Doppelte & Eindeutige Zellen auswählen klicken. Im Dialogfeld „Doppelte & Eindeutige Zellen auswählen“ wählen Sie die Option „Alle eindeutigen (einschließlich des ersten Duplikats)“ aus und klicken Sie auf die Schaltfläche OK. Dann werden alle eindeutigen Werte in der Spalte ausgewählt. Kopieren Sie diese und fügen Sie sie an einen neuen Ort ein. Siehe Screenshot:

select unique values with kutools

Kutools für Excel: Mit mehr als 200 praktischen Excel-Add-ins, kostenlos auszuprobieren ohne Einschränkungen für 60 Tage. Jetzt herunterladen und kostenlos testen!

2. Fügen Sie zwei Listenfelder separat ein, indem Sie auf Entwickler > Einfügen > Listenfeld (ActiveX-Steuerelement) klicken. Siehe Screenshot:

click List Box from Developer tab

3. Klicken Sie mit der rechten Maustaste auf das übergeordnete Listenfeld und wählen Sie Eigenschaften aus dem Kontextmenü. Ändern Sie im Eigenschaften-Dialogfeld das Feld (Name) in „Drink“ oder einen anderen Namen, den Sie benötigen, geben Sie den Zellbereich mit den extrahierten eindeutigen Werten in das Feld ListFillRange ein und schließen Sie das Dialogfeld.

specify the options in the Properties pane

4. Wiederholen Sie Schritt 3, um das Feld (Name) des zweiten Listenfelds im Eigenschaften-Dialogfeld in „Item“ zu ändern.

5. Klicken Sie mit der rechten Maustaste auf die Blattregisterkarte und wählen Sie Code anzeigen aus dem Rechtsklick-Menü. Kopieren Sie dann den folgenden VBA-Code in das Codefenster. Siehe Screenshot:

VBA-Code: Dynamische kaskadierende Listenfelder in Excel erstellen

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

Hinweise: Im Code sind „Drink“ und „Item“ die Namen der beiden Listenfelder, ändern Sie sie in Ihre eigenen Namen.

click View Code to pate the code into the module

6. Drücken Sie die Tasten Alt + Q, um das Microsoft Visual Basic for Applications-Fenster zu schließen.

7. Deaktivieren Sie den Entwurfsmodus, indem Sie auf Entwickler > Entwurfsmodus klicken.

Ab sofort werden beim Auswählen einer Getränkeart wie Kaffee im übergeordneten Listenfeld alle Kaffee-Elemente im zweiten angezeigt. Beim Auswählen von Tee oder Wein werden nur die Tee- oder Wein-Elemente im zweiten Listenfeld angezeigt. Siehe Screenshot:

dynamic cascading list boxes are created



Verwandte Artikel:

Beste Büroproduktivitätswerkzeuge

🤖 Kutools AI-Assistent: Revolutionieren Sie die Datenanalyse basierend auf: Intelligente Ausführung   |  Code generieren  |  Benutzerdefinierte Formeln erstellen  |  Daten analysieren und Diagramme generieren  |  Erweiterte Funktionen aufrufen
Beliebte Funktionen: Finden, Hervorheben oder Doppelte markieren   |  Leere Zeilen löschen   |  Spalten oder Zellen kombinieren ohne Datenverlust   |   Runden ...
Erweiterte SVERWEIS: Mehrfachkriterien SVERWEIS    Mehrfachwert SVERWEIS  |   Mehrblatt-SVERWEIS   |   Fuzzy Match ....
Erweiterte Dropdown-Liste: Schnell Dropdown-Liste erstellen   |  Abhängige Dropdown-Liste   |  Mehrfachauswahl Dropdown-Liste ....
Spaltenmanager: Eine bestimmte Anzahl von Spalten hinzufügen  |  Spalten verschieben  |  Sichtbarkeitsstatus ausgeblendeter Spalten umschalten  |  Bereiche & Spalten vergleichen ...
Hervorgehobene Funktionen: Gitterfokus   |  Entwurfsansicht   |   Erweiterte Formelleiste    Arbeitsmappe & Arbeitsblatt-Manager   |  AutoText-Bibliothek (Auto Text)   |  Datumsauswahl   |  Daten zusammenführen   |  Zellen verschlüsseln/entschlüsseln    E-Mail senden nach Liste   |  Spezialfilter   |   Spezialfilter (Filtern fett/kursiv/durchgestrichen...) ...
Top15 Werkzeugsets12 Textwerkzeuge (Text hinzufügen, Bestimmte Zeichen löschen, ...)   |   50+ Diagramm typen (Gantt-Diagramm, ...)   |   40+ Praktische Formeln (Alter basierend auf dem Geburtsdatum berechnen, ...)   |   19 Einfügewerkzeuge (QR-Code einfügen, Bild aus Pfad einfügen, ...)   |   12 Konvertierungswerkzeuge (In Wörter umwandeln, Währungsumrechnung, ...)   |   7 Konsolidieren & Aufteilen Werkzeuge (Erweiterte Zeilen zusammenführen, Zellen aufteilen, ...)   |   ... und mehr

Verbessern Sie Ihre Excel-Fähigkeiten mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über300 erweiterte Funktionen zur Steigerung der Produktivität und Zeitersparnis.  Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen...


Office Tab bringt eine Registerkartenoberfläche zu Office und macht Ihre Arbeit viel einfacher

  • Aktivieren Sie die Bearbeitung und das Lesen mit Registerkarten in Word, Excel, PowerPoint, Publisher, Access, Visio und Project.
  • Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters, anstatt in neuen Fenstern.
  • Steigert Ihre Produktivität um50 % und reduziert täglich hunderte von Mausklicks für Sie!