Direkt zum Inhalt

Wie erstelle ich dynamische kaskadierende Listenfelder in Excel?

Möglicherweise wissen Sie, wie Sie eine Dropdown-Liste für die kaskadierende Validierung in Excel erstellen. Wie erstelle ich jedoch dynamische kaskadierende Listenfelder in Excel? In diesem Artikel wird eine VBA-Methode vorgestellt, mit der Sie das Problem beheben können.

Erstellen Sie dynamische kaskadierende Listenfelder mit VBA-Code


Erstellen Sie dynamische kaskadierende Listenfelder mit VBA-Code

Wie im folgenden Screenshot gezeigt, müssen Sie ein übergeordnetes Listenfeld erstellen, das die eindeutigen Werte der Spalte "Trinken" 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 gehen Sie wie folgt vor.

1. Zunächst müssen Sie alle eindeutigen Werte aus der Spalte Trinken extrahieren. Wählen Sie eine leere Zelle aus und geben Sie die Array-Formel ein =IFERROR(INDEX($A$2:$A$11, MATCH(0,COUNTIF($J$1:J1, $A$2:$A$11), 0)),"") in die Formel-Bar, und drücken Sie dann die Taste Ctrl + Shift + Enter Schlüssel. Dann ziehen Sie die Griff füllen um alle eindeutigen Werte zu erhalten. Siehe Screenshot:

Note: In der Formel $A$2:$A$11 ist der Bereich, aus dem Sie eindeutige Werte extrahieren. J1 ist die Zelle über Ihrer Formel.

Tipp: Wenn die Formel zu schwer zu merken und zu handhaben ist, wird die Wählen Sie Doppelte und eindeutige Zellen Nutzen von Kutools for Excel Dies ist eine gute Wahl, um schnell alle eindeutigen Werte aus einer Spalte zu extrahieren.

Bitte wählen Sie die Spalte aus, die eindeutige Werte enthält, aus denen Sie extrahieren. Aktivieren Sie dann das Dienstprogramm, indem Sie auf klicken Kutoolen > Auswählen > Wählen Sie Doppelte und eindeutige Zellen. In dem Wählen Sie Doppelte und eindeutige Zellen Wählen Sie im Dialogfeld Alles einzigartig (einschließlich 1. Duplikate) Option und klicken Sie auf OK Taste. Dann werden alle eindeutigen Werte in der Spalte ausgewählt. Bitte kopieren Sie sie und fügen Sie sie an einem neuen Ort ein. Siehe Screenshot:

Kutools for Excel: Mit mehr als 200 praktischen Excel-Add-Ins können Sie es innerhalb von 60 Tagen ohne Einschränkung testen. Jetzt herunterladen und kostenlos testen!

2. Fügen Sie zwei Listenfelder separat ein, indem Sie auf klicken Entwickler:in / Unternehmen > Insert > Listenfeld (ActiveX Control). Siehe Screenshot:

3. Klicken Sie mit der rechten Maustaste auf das übergeordnete Listenfeld und wählen Sie Ferienhäuser aus dem Kontextmenü. In dem Ferienhäuser Dialogfeld ändern Sie die (Name) Feld zu Trinken oder ein anderer Name nach Bedarf, geben Sie den Zellbereich ein, der die extrahierten eindeutigen Werte in das enthält ListFillRange Feld und schließen Sie den Dialog.

4. Wiederholen Sie Schritt 3, um die zweiten Listenfelder zu ändern (Name) Feld zu Artikel in der Ferienhäuser Dialogbox.

5. Klicken Sie mit der rechten Maustaste auf die Registerkarte Blatt und wählen Sie Code anzeigen aus dem Kontextmenü. Kopieren Sie dann den folgenden VBA-Code in das Code-Fenster. Siehe Screenshot:

VBA-Code: Erstellen Sie dynamische kaskadierende Listenfelder 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

Notizen: Ändern Sie im Code Drink and Item die Namen zweier Listenfelder in Ihre eigenen Namen.

6. Drücken Sie die Taste Andere + Q Tasten zum Schließen der Microsoft Visual Basic für Applikationen Fenster.

7. Schalten Sie den Entwurfsmodus aus, indem Sie auf klicken Entwickler:in / Unternehmen > Entwurfsmodus.

Von nun an werden bei Auswahl eines Getränks wie Kaffee im übergeordneten Listenfeld alle Kaffeeartikel im zweiten angezeigt. Wenn Sie Tee oder Wein auswählen, werden nur die Tee- oder Weinartikel im zweiten Listenfeld angezeigt. Siehe Screenshot:


In Verbindung stehende Artikel:

Beste Office-Produktivitätstools

🤖 Kutools KI-Assistent: Revolutionieren Sie die Datenanalyse basierend auf: Intelligente Ausführung   |  Code generieren  |  Erstellen Sie benutzerdefinierte Formeln  |  Analysieren Sie Daten und erstellen Sie Diagramme  |  Rufen Sie Kutools-Funktionen auf...
Beliebte Funktionen: Suchen, markieren oder identifizieren Sie Duplikate   |  Leere Zeilen löschen   |  Kombinieren Sie Spalten oder Zellen, ohne Daten zu verlieren   |   Runde ohne Formel ...
Super-Lookup: VLookup mit mehreren Kriterien    VLookup mit mehreren Werten  |   VLookup über mehrere Blätter hinweg   |   Unscharfe Suche ....
Erweiterte Dropdown-Liste: Erstellen Sie schnell eine Dropdown-Liste   |  Abhängige Dropdown-Liste   |  Mehrfachauswahl Dropdown-Liste ....
Spaltenmanager: Fügen Sie eine bestimmte Anzahl von Spalten hinzu  |  Spalten verschieben  |  Schalten Sie den Sichtbarkeitsstatus ausgeblendeter Spalten um  |  Vergleichen Sie Bereiche und Spalten ...
Ausgewählte Funktionen: Rasterfokus   |  Designansicht   |   Große Formelleiste    Arbeitsmappen- und Blattmanager   |  Ressourcen (Autotext)   |  Datumsauswahl   |  Arbeitsblätter kombinieren   |  Zellen verschlüsseln/entschlüsseln    Senden Sie E-Mails nach Liste   |  Superfilter   |   Spezialfilter (Filter fett/kursiv/durchgestrichen...) ...
Top 15 Toolsets12 Text Tools (Text hinzufügen, Zeichen entfernen, ...)   |   50+ Chart Typen (Gantt-Diagramm, ...)   |   40+ Praktisch Formeln (Berechnen Sie das Alter basierend auf dem Geburtstag, ...)   |   19 Einfügen Tools (QR-Code einfügen, Bild aus Pfad einfügen, ...)   |   12 Umwandlung (Conversion) Tools (Zahlen zu Wörtern, Currency Conversion, ...)   |   7 Zusammenführen & Teilen Tools (Erweiterte Zeilen kombinieren, Zellen teilen, ...)   |   ... und mehr

Verbessern Sie Ihre Excel-Kenntnisse mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über 300 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 ...

Beschreibung


Office Tab Bringt die Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich

  • Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
  • Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
  • Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!
Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi

What does "Me" refer to in the code and how will the code change if I have a MultiSelect list box?

Regards
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations