Zum Hauptinhalt springen

Kutools für Office — Eine Suite. Fünf Tools. Erledigen Sie mehr.

Wie erstellt man dynamische kaskadierende Listenfelder in Excel?

Author Siluvia Last modified

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:

Die besten Produktivitätstools für das Büro

🤖 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: Doppelte suchen, hervorheben oder markieren | Leere Zeilen löschen | Spalten oder Zellen zusammenführen, ohne Daten zu verlieren | Runden...
Erweiterte SVERWEIS: SVERWEIS mit mehreren Kriterien | SVERWEIS für mehrere Werte | Mehrblatt-SVERWEIS | Fuzzy Match...
Erweiterte Dropdown-Liste: Dropdown-Liste schnell erstellen | Abhängige Dropdown-Liste | Mehrfachauswahl Dropdown-Liste...
Spaltenmanager: Eine bestimmte Anzahl an Spalten hinzufügen | Spalten verschieben | Sichtbarkeitsstatus versteckter Spalten umschalten | Bereiche & Spalten vergleichen...
Empfohlene Funktionen: Gitterfokus | Entwurfsansicht | Erweiterte Formelleiste | Arbeitsmappe & Arbeitsblatt-Manager | AutoText-Bibliothek | Datumsauswahl | Daten zusammenführen | Zellen verschlüsseln/entschlüsseln | E-Mail senden nach Liste | Super Filter | Spezialfilter (fett/kursiv/durchgestrichen filtern...) ...
Top15 Toolsets:12 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 Konsolidierungs- & Aufteilungstools (Erweiterte Zeilen zusammenführen, Zellen aufteilen, ...) | ... und mehr
Verwenden Sie Kutools in Ihrer bevorzugten Sprache – unterstützt Englisch, Spanisch, Deutsch, Französisch, Chinesisch und über40 weitere!

Stärken Sie Ihre Excel-Fähigkeiten mit Kutools für Excel und genießen Sie Effizienz wie nie zuvor. Kutools für Excel bietet mehr als300 erweiterte Funktionen, um die Produktivität zu steigern und Zeit zu sparen. Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen...


Office Tab bringt die Tab-Oberfläche in Office und macht Ihre Arbeit wesentlich einfacher

  • Aktivieren Sie die Tabulator-Bearbeitung und das Lesen in Word, Excel, PowerPoint, Publisher, Access, Visio und Project.
  • Öffnen und erstellen Sie mehrere Dokumente in neuen Tabs innerhalb desselben Fensters, statt in neuen Einzelfenstern.
  • Steigert Ihre Produktivität um50 % und reduziert hunderte Mausklicks täglich!

Alle Kutools-Add-Ins. Ein Installationspaket

Das Kutools for Office-Paket bündelt Add-Ins für Excel, Word, Outlook & PowerPoint sowie Office Tab Pro und ist ideal für Teams, die mit mehreren Office-Anwendungen arbeiten.

Excel Word Outlook Tabs PowerPoint
  • All-in-One-Paket — Add-Ins für Excel, Word, Outlook & PowerPoint + Office Tab Pro
  • Ein Installationspaket, eine Lizenz — in wenigen Minuten einsatzbereit (MSI-kompatibel)
  • Besser gemeinsam — optimierte Produktivität in allen Office-Anwendungen
  • 30 Tage kostenlos testen — keine Registrierung, keine Kreditkarte erforderlich
  • Bestes Preis-Leistungs-Verhältnis — günstiger als Einzelkauf der Add-Ins