Excel VBA AutoFilter
AutoFilter in VBA wird als Ausdruck verwendet und die Syntax dafür lautet wie folgt: Ausdruck. Autofilter (Feld, Kriterium 1, Operator, Kriterium 2, Dropdown) Alle Argumente sind optional. Der Filter ist hilfreich beim Filtern der bestimmten Daten aus den riesigen Daten.
Angenommen, Sie sind ein regelmäßiger Benutzer, dann sind Excel-Filter für Sie keine seltsame Sache. Einige der im Arbeitsblatt verwendeten Tools sind auch in VBA integriert, und die Option für den automatischen Filter ist eines der wichtigsten in VBA verfügbaren Tools. Wie wir alle wissen, ist der Excel-Filter auf der Registerkarte Daten verfügbar.

Mit dieser Filteroption können wir mit den Daten herumspielen. Wenn Sie mit einer minimalen Datenmenge arbeiten und der Meinung sind, dass die VBA-Autofilteroption nicht wirklich erforderlich ist, können Sie die Arbeitsblattfilteroption weiterhin verwenden.
Wenn Sie mit einer großen Datenmenge arbeiten, können Sie eine Autofilter-Option verwenden, um den Prozessablauf zu vereinfachen.
Syntax der AutoFilter-Funktion
AutoFilter in Excel VBA kann mit einem Bereichsobjekt verwendet werden. Wie unsere anderen Funktionen hat auch diese eine eigene Syntax.

- Bereich: Der Bereich liegt einfach in dem Bereich, in dem Sie den Filter anwenden möchten.
- Feld: Feld bedeutet, aus welcher Spalte des von Ihnen ausgewählten Bereichs Sie die Daten herausfiltern möchten. Eine Spalte wird von links nach rechts gezählt.
Wenn Ihr Bereich beispielsweise zwischen A1 und D100 liegt und Sie einen Filter für die Spalte D anwenden möchten, lautet Ihre Feldnummer 4, da D im ausgewählten Bereich die vierte Spalte ist.
Kriterium 1: Im Feld haben Sie ausgewählt, was Sie filtern möchten.
- Operator: Wenn Sie mehr als ein Kriterium zum Filtern der Daten anwenden möchten, müssen wir Operatorsymbole verwenden. Einige der Bedienercodes sind wie folgt.
xlAnd, xlOr, xlBottom10Items, xlTop10Items, xlTop10Percent, xlBottom10Percent, xlFilterCellColor, xlFilterDynamic, xlFilterFontColor, xlFilterIcon, xlFilterValues.
Kriterium 2: Was ist das zweite, was Sie zusammen mit Kriterium 1 filtern möchten?
- Sichtbares Dropdown: Möchten Sie das Symbol für Filter-Fop-Down in der gefilterten Spalte anzeigen? Wenn Sie TRUE anzeigen möchten, ist das Argument, wenn nicht FALSE, das Argument.
Wie wende ich Filter mit VBA AutoFilter an? (mit Beispiel)
Angenommen, unter den Daten, an denen Sie arbeiten.

Mit VBA-Code wenden wir nun den Filter an. Führen Sie die folgenden Schritte aus, um den Filter anzuwenden.
Schritt 1: Starten Sie die Unterprozedur, indem Sie dem Makro einen Namen geben.
Code:
Sub AutoFilter_Example1 () End Sub

Schritt 2: Das erste ist, in welchem Bereich wir den Filter anwenden müssen. In diesem Fall müssen wir den Bereich von A1 bis E25 anwenden.
Code:
Sub AutoFilter_Example1 () Range ("A1: E25") End Sub

Schritt 3: Nachdem der Bereich ausgewählt wurde, wenden Sie jetzt die automatische Filteroption an.
Code:
Sub AutoFilter_Example1 () Bereich ("A1: E25"). AutoFilter End Sub

Wir wählen keine Werte mit einem Autofilter aus. Vielmehr wenden wir den Filter zu diesem Zeitpunkt nur an.
Führen Sie den Code mit der Taste F5 aus, oder fügen Sie manuell einen Filter für den ausgewählten Bereich ein.

Daher wurde ein Filter auf die Daten angewendet. Jetzt werden wir sehen, wie die Daten herausgefiltert werden.
Beispiel 1 - Herausfiltern von Daten mithilfe von AutoFilter
Betrachten Sie die gleichen Daten aus dem obigen Beispiel. Jetzt müssen wir die Abteilung „Finanzen“ aus der Abteilungsspalte herausfiltern.
Schritt 1: Nachdem der Filter angewendet wurde, besteht das erste Argument darin, anzugeben, aus welcher Spalte die Daten gefiltert werden. In diesem Fall müssen wir die Daten aus der Spalte Abteilung filtern, also Spaltennummer, wenn 5.
Code:
Sub AutoFilter_Example1 () Bereich ("A1: E25"). AutoFilter-Feld: = 5, End Sub

Schritt 2: Kriterien 1 ist nichts anderes als was wir von der 5 bis Filter wollen th Spalte. Wir müssen also "Finanzen" herausfiltern.
Code:
Sub AutoFilter_Example1 () Range ("A1: E25"). AutoFilter Field: = 5, Criteria1: = "Finance" End Sub

Führen Sie diesen Code manuell aus oder filtern Sie mit der Taste F5 nur "Finanzen" aus der Liste heraus.

Beispiel 2 - Operator in AutoFilter
Wir haben gesehen, wie man den einzelnen Wert filtert. Jetzt werden wir sehen, wie mehrere Elemente gefiltert werden. Angenommen, Sie möchten zusammen mit "Finanzen" auch die Abteilung "Vertrieb" filtern, damit wir dies mithilfe von Operatoren tun können .
Schritt 1: Nachdem Sie die ersten Kriterien im nächsten Argument angewendet haben, wählen Sie den Operator als "xlOr" aus.
Code:
Sub AutoFilter_Example2 () Bereich ("A1: E25"). AutoFilter Feld: = 5, Kriterien1: = "Finanzen", Operator: = xlOr End Sub

Schritt 2: Erwähnen Sie nun in Kriterium 2 den Wert als "Umsatz".
Code:
Sub AutoFilter_Example2 () Range ("A1: E25"). AutoFilter Field: = 5, Criteria1: = "Finance", Operator: = xlOr, Criteria2: = "Sales" End Sub

Schritt 3: Ok, führen Sie diesen Code mit der Taste F5 aus oder filtern Sie ihn manuell heraus. Dabei werden sowohl "Finanzen" als auch "Verkäufe" herausgefiltert.

Im Operator-Argument habe ich "xlOr" verwendet, wodurch sowohl "Finanzen" als auch "Vertrieb" unter dem Filter ausgewählt werden.
Beispiel 3 - Filternummern mit AutoFilter
Using the Operator symbol “XlAnd,” we can filter out numbers as well. Assume from the Overtime column you want to filter out all the values which are>1000 but <3000.
Step 1: The first thing is changing the Field from 5 to 4.
Code:
Sub AutoFilter_Example3() Range("A1:E25").AutoFilter Field:=4 End Sub

Step 2: Criteria 1 is>1000.
Code:
Sub AutoFilter_Example3() Range("A1:E25").AutoFilter Field:=4,Criteria1:=">1000", End Sub

Step 3: Here, we need to match both the criteria, so use “xlAnd” as the operator.
Code:
Sub AutoFilter_Example3() Range("A1:E25").AutoFilter Field:=4, Criteria1:=">1000", Operator:=xlAnd, End Sub

Step 4: Criteria 2 will <3000.
Code:
Sub AutoFilter_Example3() Range("A1:E25").AutoFilter Field:=4, Criteria1:=">1000", Operator:=xlAnd, Criteria2:="<3000" End Sub

Now, if you run this code manually or through the F5 key, it will filter out all the values from the Overtime column, which are>1000 but <3000.

Example #4 - Filter from Different Columns using AutoFilter
In order to filter out data from different columns, we need to use a different process. Assume you want to filter out the “Finance” department and also you want to filter out Salary numbers, which are>25000 but <40000.
You can use the below code does that.
Code:
Sub AutoFilter_Example4 () With Range ("A1: E25") .AutoFilter Field: = 5, Criteria1: = "Finance" .AutoFilter Field: = 2, Criteria1: = "> 25000", Operator: = xlAnd, Criteria2: = " <40000 "End With End Sub
Dadurch werden zwei Spalten herausgefiltert.

Führen Sie diesen Code mit der Taste F5 aus, oder Sie können ihn manuell ausführen.

Dinge, an die man sich erinnern sollte
- Probieren Sie unter Operator verschiedene Kombinationen aus, um sich mit VBA AutoFilter vertraut zu machen.
- Wenn Sie sich nicht sicher sind, was Sie eingeben sollen, verwenden Sie den Makrorecorder.
- Wenn Sie Textwerte herausfiltern möchten, müssen Sie sie in doppelte Anführungszeichen setzen.
- Verwenden Sie die WITH-Anweisung, um mehr als einen Spaltenfilter anzuwenden.