Note: The other languages of the website are Google-translated. Back to English

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

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 erhöht Ihre Produktivität um 80%
  • Alles wiederverwenden: Fügen Sie Ihren Favoriten die am häufigsten verwendeten oder komplexesten Formeln, Diagramme und alles andere hinzu und verwenden Sie sie in Zukunft schnell wieder.
  • Mehr als 20 Textfunktionen: Nummer aus Textzeichenfolge extrahieren; Teile von Texten extrahieren oder entfernen; Zahlen und Währungen in englische Wörter umwandeln.
  • Tools zusammenführen: Mehrere Arbeitsmappen und Blätter in einem; Zusammenführen mehrerer Zellen / Zeilen / Spalten ohne Datenverlust; Doppelte Zeilen und Summe zusammenführen.
  • Werkzeuge teilen: Aufteilen von Daten in mehrere Blätter basierend auf dem Wert; Eine Arbeitsmappe für mehrere Excel-, PDF- oder CSV-Dateien; Eine Spalte zu mehreren Spalten.
  • Einfügen überspringen Versteckte / gefilterte Zeilen; Zählen und summieren nach Hintergrundfarbe;; Senden Sie personalisierte E-Mails in großen Mengen an mehrere Empfänger.
  • Superfilter: Erstellen Sie erweiterte Filterschemata und wenden Sie sie auf alle Blätter an. Sortieren nach Woche, Tag, Häufigkeit und mehr; Filter durch Fettdruck, Formeln, Kommentar ...
  • Mehr als 300 leistungsstarke Funktionen; Funktioniert mit Office 2007-2021 und 365; Unterstützt alle Sprachen; Einfache Bereitstellung in Ihrem Unternehmen oder Ihrer Organisation.

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 + Verschiebung + Weiter Schlüssel. Dann ziehen Sie die Griff füllen um alle eindeutigen Werte zu erhalten. Siehe Screenshot:

Hinweis: 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 Immobilien aus dem Kontextmenü. In dem Immobilien 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 Immobilien 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

Anmerkungen: Ä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:


Die besten Tools für die Office-Produktivität

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

  • Wiederverwendung: Schnell einfügen komplexe Formeln, Diagramme und alles, was du vorher benutzt hast; Zellen verschlüsseln mit Passwort; Mailingliste erstellen und E-Mails senden ...
  • Super Formelriegel (leicht mehrere Textzeilen und Formeln bearbeiten); 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 geteilter Zellen; 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; Zufällige Auswahl ...
  • Exakte Kopie Mehrere Zellen ohne Änderung der Formelreferenz; Referenzen automatisch erstellen zu mehreren Blättern; Aufzählungszeichen einfügen, Kontrollkästchen und mehr ...
  • Text extrahieren, Text hinzufügen, Nach Position entfernen, Leerzeichen entfernen;; Paging-Zwischensummen erstellen und drucken; Inhalt und Kommentare zwischen Zellen konvertieren...
  • Superfilter (Speichern und Anwenden von Filterschemata auf andere Blätter); Erweiterte Sortierung nach Monat / Woche / Tag, Häufigkeit und mehr; Spezialfilter fett, kursiv ...
  • Kombinieren Sie Arbeitsmappen und Arbeitsblätter;; Tabellen basierend auf Schlüsselspalten zusammenführen; Daten in mehrere Blätter aufteilen; Batch-Konvertierung von xls, xlsx und PDF...
  • Mehr als 300 leistungsstarke Funktionen. Unterstützt Office / Excel 2007-2021 und 365. Unterstützt alle Sprachen. Einfache Bereitstellung in Ihrem Unternehmen oder Ihrer Organisation. 30-tägige kostenlose Testversion mit allen Funktionen. 60 Tage Geld-zurück-Garantie.
kte tab 201905

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!
officetab unten
Kommentare (1)
Noch keine Bewertungen. Bewerten Sie als Erster!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hi

Worauf bezieht sich "Ich" im Code und wie ändert sich der Code, wenn ich ein MultiSelect-Listenfeld habe?

Grüße
Es sind noch keine Kommentare vorhanden
Hinterlassen Sie Ihre Kommentare
Als Gast posten
×
Bewerte diese Nachricht:
0   Figuren
Vorgeschlagene Standorte

Folgen Sie uns

Copyright © 2009 - www.extendoffice.com. | Alle Rechte vorbehalten. Unterstützt von ExtendOffice. | Sitemap
Microsoft und das Office-Logo sind Marken oder eingetragene Marken der Microsoft Corporation in den USA und / oder anderen Ländern.
Geschützt durch Sectigo SSL