VBA-Autofilter

In VBA können Sie erstellen Automatischer Filter um einen Zellbereich oder eine Excel-Tabelle zu filtern. In diesem Tutorial erfahren Sie, wie Sie Automatischer Filter für eine oder mehrere Spalten und für mehrere Bedingungen.

Wenn Sie erfahren möchten, wie Sie einen erweiterten Filter in VBA verwenden, klicken Sie hier: Erweiterter VBA-Filter

AutoFilter in VBA erstellen

Zuerst werden Sie sehen, wie Sie einfach erstellen Automatischer Filter in einem Bereich, sodass ein Benutzer die Daten filtern kann. Die Daten, die wir in den Beispielen verwenden werden, sind in Bild 1:

Bild 1. Daten für AutoFilter-Beispiele

Hier ist der Code zum Erstellen Automatischer Filter:

1 Sheet1.Range("A1:E1").AutoFilter

Um zu ermöglichen Automatischer Filter, müssen wir den Header des Bereichs angeben, in unserem Fall A1:E1, und verwenden die Automatischer Filter Methode des Objekts Bereich. Aus diesem Grund sind in unserem Datenbereich Filter aktiviert:

Bild 2. AutoFilter für die Daten aktiviert

AutoFilter mit Feld- und Kriterienparametern

VBA ermöglicht es Ihnen auch, ein bestimmtes Feld mit bestimmten Werten automatisch zu filtern.

Dazu müssen Sie Parameter verwenden Gebiet und Kriterien1 der Methode Automatischer Filter. In diesem Beispiel möchten wir die dritte Spalte filtern (Produkt) zum Produkt A nur. Hier ist der Code:

12 Sheet1.Range("A1:E1").AutoFilter Field:=3, _Kriterien1:="Produkt A"

In dem Gebiet Parameter können Sie die Nummer der Spalte im Bereich einstellen (nicht in Excel), während in Kriterien1 Sie können den Wert eingeben, den Sie filtern möchten. Nach der Ausführung des Codes sieht unsere Tabelle wie folgt aus:

Bild 3. AutoFilter mit Feld und Kriterien

Wie Sie sehen, sind nur Zeilen mit Produkt A in der dritten Spalte werden im Datenbereich angezeigt.

AutoFilter mit Feld- und mehreren Kriterienwerten

Wenn Sie ein Feld mit mehreren Werten filtern möchten, müssen Sie den Parameter Operator des Automatischer Filter Methode. Um mehrere Werte zu filtern, müssen Sie einstellen Operator zu xlFilterWerte und auch alle Werte von Kriterien in einem Array. In diesem Beispiel filtern wir die Produkt Spalte für Produkt A und Produkt B. Hier ist das Codebeispiel:

123 Sheet1.Range("A1:E1").AutoFilter Field:=3, _Kriterien1:=Array("Produkt A", "Produkt B"), _Operator:=xlFilterValues

Wenn wir den Code ausführen, erhalten wir nur Zeilen mit Produkt A und Produkt B, wie Sie in Bild 4 sehen können:

Bild 4. AutoFilter mit mehreren Kriterienwerten

Datenbereich mit mehreren Kriterien automatisch filtern

Wenn Sie ein Feld mit mehreren Kriterien filtern möchten, müssen Sie Kriterien1 und Kriterien2 Parameter, aber auch die Operator xlAnd.

Im nächsten Beispiel filtern wir die erste Spalte (Datum) für Daten im Dezember 2022. Daher haben wir zwei Kriterien: ein Datum größer als 01.12.18 und kleiner als 31.12.18. Dies ist der Code:

1234 Sheet1.Range("A1:E1").AutoFilter Field:=1, _Kriterien1:=">=12/01/2018", _Operator:=xlAnd, _Kriterien2:="<=12/31/2018"

Wenn wir den Code ausführen, sehen Sie, dass im Datenbereich nur Daten im Dezember angezeigt werden:

Bild 5. AutoFilter mit mehreren Kriterien für das Feld

Die Operatorparameterwerte der AutoFilter-Methode

In der nächsten Tabelle. Sie können alle möglichen Werte der sehen Operator Parameter der AutoFilter-Methode und deren Beschreibungen:

Operator Beschreibung
xlAnd Enthält mehrere Kriterien - Kriterien1 und Kriterien 2
xlOr Enthält eines der mehreren Kriterien - Kriterium1 oder Kriterium 2
xlTop10Items Filtert eine bestimmte Anzahl von Werten mit dem höchsten Rang (Anzahl angegeben in Kriterien1)
xlBottom10Items Filtert eine bestimmte Anzahl von Werten mit dem niedrigsten Rang (Anzahl angegeben in Kriterien1)
xlTop10Prozent Filtert einen bestimmten Prozentsatz der am höchsten bewerteten Werte (% angegeben in Kriterien1)
xlBottom10Percent Filtert einen bestimmten Prozentsatz der Werte mit dem niedrigsten Rang (% angegeben in Kriterien1)
xlFilterWerte Enthält mehrere Kriterienwerte mit Array
xlFilterCellColor Filtert Zellen nach Farben
xlFilterFontColor Filtert Zellen nach Schriftfarben
xlFILterIcon Filtersymbole
xlFilterDynamic Dynamische Werte filtern

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave