Tipp: Andere Sprachen sind Google-Übersetzungen. Sie können die English Version dieses Links.
Einloggen
x
or
x
x
Registrieren
x

or

Wie erstellt man dynamische Cascading Listboxen in Excel?

Sie wissen möglicherweise, wie Sie in Excel eine Dropdown-Liste für die kaskadierende Validierung erstellen. Wie erstellt man jedoch dynamische kaskadierende Listboxen in Excel? Dieser Artikel führt eine VBA-Methode ein, um es herunterzubringen.

Erstellen Sie dynamische kaskadierende Listenfelder mit VBA-Code

Registerkarte "Office" Aktivieren Sie das Bearbeiten und Durchsuchen von Registerkarten in Office und vereinfachen Sie Ihre Arbeit erheblich ...
Kutools for Excel löst die meisten Ihrer Probleme und steigert Ihre Produktivität um 80%
  • Alles wiederverwenden: Fügen Sie die am häufigsten verwendeten oder komplexesten Formeln, Diagramme und andere Elemente zu Ihren Favoriten hinzu und verwenden Sie sie in Zukunft schnell wieder.
  • Mehr als 20-Textfunktionen: Extrahiere die Zahl aus der Zeichenkette. Teile von Texten extrahieren oder entfernen; Zahlen und Währungen in englische Wörter umrechnen.
  • Tools zusammenführen: Mehrere Arbeitsmappen und Blätter in einer; Mehrere Zellen / Zeilen / Spalten zusammenführen, ohne Daten zu verlieren; Doppelte Zeilen und Summe zusammenführen.
  • Geteilte Werkzeuge: Aufteilen von Daten in mehrere Blätter basierend auf dem Wert; Eine Arbeitsmappe in mehrere Excel-, PDF- oder CSV-Dateien; Eine Spalte zu mehreren Spalten.
  • Einfügen überspringen Versteckte / Gefilterte Zeilen; Zählung und Summe nach Hintergrundfarbe; Senden Sie personalisierte E-Mails in großen Mengen an mehrere Empfänger.
  • Super Filter: Erstellen Sie erweiterte Filterschemata und wenden Sie diese auf alle Blätter an. Art nach Woche, Tag, Häufigkeit und mehr; Filtern durch Fettdruck, Formeln, Kommentar ...
  • Mehr als 300 leistungsstarke Funktionen; Funktioniert mit Office 2007-2019 und 365; Unterstützt alle Sprachen; Einfache Bereitstellung in Ihrem Unternehmen oder Ihrer Organisation.

Erstellen Sie dynamische kaskadierende Listenfelder mit VBA-Code


Wie im 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, dies zu erreichen. Bitte wie folgt vorgehen.

1. Zuerst müssen Sie alle eindeutigen Werte aus der Spalte "Trinken" extrahieren. Wählen Sie eine leere Zelle aus und geben Sie 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 + Verschiebung + Weiter Schlüssel. Dann ziehe die Griff füllen um alle eindeutigen Werte zu erhalten. Siehe Screenshot:

Text: In der Formel, $A$2:$A$11 ist der Bereich, aus dem Sie eindeutige Werte extrahieren. J1 ist die Zelle oben, in der sich Ihre Formel befindet.

Spitze: Wenn Formel zu schwer ist, sich zu erinnern und zu behandeln, der Wählen Sie Doppelte und eindeutige Zellen aus Nutzen von Kutools for Excel ist eine gute Wahl für Sie, um schnell alle eindeutigen Werte aus einer Spalte zu extrahieren.

Bitte wählen Sie aus, dass die Spalte eindeutige Werte enthält, aus denen Sie extrahieren. Aktivieren Sie das Dienstprogramm, indem Sie auf klicken Kutoolen > Auswählen > Wählen Sie Doppelte und eindeutige Zellen aus. In dem Wählen Sie Doppelte und eindeutige Zellen aus Wählen Sie im Dialogfeld Alle eindeutig (einschließlich 1st-Duplikaten) Option und klicken Sie auf OK Taste. Dann werden alle eindeutigen Werte in der Spalte ausgewählt. Bitte kopiere sie und füge sie an einen neuen Ort ein. Siehe Screenshot:

Kutools for Excel: mit mehr als 200 praktischen Excel-Add-Ins, die Sie in 60-Tagen kostenlos ausprobieren können. Download und kostenlose Testversion Jetzt!

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

3. Klicken Sie mit der rechten Maustaste auf das Listenfeld und wählen Sie Immobilien aus dem Kontextmenü. In dem Immobilien Dialogfeld, ändern Sie die (Name) Feld zu Trinken oder anderen Namen, wie Sie brauchen, geben Sie den Zellbereich enthält die extrahierten eindeutigen Werte in die Liste Fill Bereich Feld und schließen Sie den Dialog.

4. Wiederholen Sie den Schritt 3, um das zweite Listenfeld zu ändern (Name) Feld zu Artikel in der Immobilien Dialogbox.

5. Klicken Sie mit der rechten Maustaste auf die Registerkarte und wählen Sie Code anzeigen aus dem Kontextmenü. Kopieren Sie dann den 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: Im Code Drink und Item sind die Namen von zwei Listenfeldern, ändern Sie sie zu Ihren 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 Design-Modus aus, indem Sie auf klicken Entwickler > Entwurfsmodus.

Wenn Sie nun in der Liste der Eltern alle Arten von Getränken wie Kaffee auswählen, werden alle Kaffeeprodukte in der zweiten angezeigt. Wählen Sie Tee oder Wein, um nur die Artikel für Tee oder Wein im zweiten Listenfeld anzuzeigen. Siehe Screenshot:


In Verbindung stehende Artikel:


Kutools for Excel löst die meisten Ihrer Probleme und steigert Ihre Produktivität um 80%

  • Wiederverwendung: Schnell einlegen komplexe Formeln, Diagramme und alles, was du vorher benutzt hast; Zellen verschlüsseln mit Passwort; Mailingliste erstellen und E-Mails senden ...
  • Super Formula Bar (Bearbeiten Sie mühelos mehrere Textzeilen und Formeln); Layout lesen (Leichtes Lesen und Bearbeiten einer großen Anzahl von Zellen); In gefilterten Bereich einfügen...
  • Zellen / Zeilen / Spalten zusammenführen ohne Daten zu verlieren; Inhalt der Zellen teilen; Kombinieren Sie doppelte Zeilen / Spalten... Doppelte Zellen verhindern; Bereiche vergleichen...
  • Wählen Sie "Duplizieren" oder "Eindeutig" Reihen; Wählen Sie Leere Zeilen (alle Zellen sind leer); Super Find und Fuzzy Find in vielen Arbeitsmappen; Zufallsauswahl ...
  • Exakte Kopie Mehrere Zellen ohne Änderung der Formelreferenz; Referenzen automatisch erstellen auf mehrere Blätter; Bullets einfügen, Kontrollkästchen und mehr ...
  • Extract Text, Text hinzufügen, Nach Position entfernen, Leerzeichen entfernen; Erstellen und Drucken von Paging-Zwischensummen; Zwischen Zelleninhalt und Kommentaren konvertieren...
  • Superfilter (Speichere und wende Filterschemata auf andere Blätter an); Erweiterte Sortierung nach Monat / Woche / Tag, Häufigkeit und mehr; Spezialfilter fett, kursiv ...
  • Arbeitsmappen und Arbeitsblätter kombinieren; Zusammenführen von Tabellen basierend auf Schlüsselspalten; Daten in mehrere Blätter aufteilen; Stapelkonvertierung von xls, xlsx und PDF...
  • Mehr als 300 leistungsstarke Funktionen. Unterstützt Office / Excel 2007-2019 und 365. Unterstützt alle Sprachen. Einfache Bereitstellung in Ihrem Unternehmen oder Ihrer Organisation. Kostenlose 30-Testversion für alle Funktionen.
Registerkarte Tab 201905

Registerkarte "Office" Bringt die Benutzeroberfläche mit Registerkarten in Office und vereinfacht Ihre 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 täglich Hunderte von Mausklicks für Sie!
officetab unten
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.

Be the first to comment.