Autofilter mit mehreren Kriterien in VBA
Wir stellen vor, wie man AutoFilter
verwendet, um einen Zellbereich oder eine Excel-Tabelle in VBA zu filtern.
Autofilter mit mehreren Kriterien in VBA
Es gibt viele Situationen, in denen wir Filter in Excel verwenden müssen, während wir an einem VBA-Code arbeiten. Wenn wir die Verkaufsdaten für ein bestimmtes Datum abrufen möchten, müssen wir einen Datumsfilter für eine Datumsspalte in VBA verwenden.
VBA bietet mit einem AutoFilter
eine Lösung für dieses Problem.
Wir beginnen damit, zu verstehen, wie der Autofilter in einem Bereich verwendet wird, damit ein Benutzer die Daten filtern kann. Lassen Sie uns zunächst einige Daten haben, wie unten gezeigt.
Wie unten gezeigt, verwenden wir die Range
-Methode des Blatts, um den Bereich auszuwählen, auf den wir einen AutoFilter
anwenden möchten.
# VBA
Sub test()
Sheet1.Range("A1:C1").AutoFilter
End Sub
Ausgabe:
Wir müssen den Header des Bereichs angeben, der in unserem Fall A1:C1
ist, und die AutoFilter
-Technik des Objektbereichs verwenden, um den Autofilter anzuwenden. Dies führt zur Aktivierung von Filtern für unser Sortiment, wie oben gezeigt.
Autofilter mit Feld und Kriterien in VBA
Mit VBA können wir auch bestimmte Felder mit bestimmten Werten filtern. Um dies zu erreichen, müssen wir das Feld definieren, auf das der Filter angewendet werden soll.
Wir werden auch die Kriterien definieren, auf deren Grundlage wir einen Filter anwenden möchten. Wenn wir die zweite Spalte nur nach Laptop
filtern möchten, können wir den Code wie unten gezeigt ausführen.
# VBA
Sub test()
Sheet1.Range("A1:C1").AutoFilter Field:=2, Criteria1:="Laptop"
End Sub
Ausgabe:
Wie wir im obigen Beispiel sehen können, konnten wir den AutoFilter
mit den gewünschten Werten verwenden, indem wir die Werte des Felds und der Kriterien definiert haben. Das Ergebnis wird oben mit dem Filter angezeigt, der die Kriterien verwendet, die wir in unserem VBA-Code angegeben haben.
Autofilter mit mehreren Kriterien in VBA
Angenommen, wir möchten mehrere Kriterien für unseren Filter festlegen. In diesem Fall können wir dies tun, indem wir einen anderen Parameteroperator in AutoFilter
verwenden, wenn wir ein Feld mit mehreren Werten filtern müssen.
Wir können den Operator xlFilterValues
verwenden und die Werte an den Parameter Criteria
in einem Array übergeben, um basierend auf diesen Werten herauszufiltern, wie unten gezeigt.
# VBA
Sub test()
Sheet1.Range("A1:C1").AutoFilter Field:=2, Criteria1:=Array("Laptop", "iPhone"), _
Operator:=xlFilterValues
End Sub
Ausgabe:
Wie wir im obigen Beispiel sehen können, wird beim Ausführen des Codes der AutoFilter
mit mehreren Werten aktiviert und zeigt die gewünschten Ergebnisse an.
Datumsbereich automatisch filtern mit mehreren Kriterien in VBA
Wenn wir AutoFilter
basierend auf dem Datumsbereich verwenden möchten oder wenn wir die Daten zwischen einem bestimmten Datumsbereich abrufen möchten, müssen wir mehrere Criteria
-Parameter mit einem xlAnd
-Operator verwenden.
Lassen Sie uns ein Beispiel durchgehen und weitere Daten zu unserem Musterblatt mit den unten stehenden Daten hinzufügen.
Wie Sie den obigen Daten entnehmen können, haben wir eine neue Spalte mit Datumsangaben hinzugefügt. Wie unten gezeigt, verwenden wir diese Daten, um die Daten zwischen dem 20. und 25. Mai zu filtern.
#VBA
Sub test()
Sheet1.Range("A1:D1").AutoFilter Field:=1, Criteria1:=">=05/20/2022", Operator:=xlAnd, Criteria2:="<=05/25/2022", Operator:=xlFilterValues
End Sub
Ausgabe:
Wie wir im obigen Beispiel sehen können, können wir die Daten im Datumsbereich einfach filtern, indem wir zwei Datumskriterien angeben und den Parameter Operator
mit dem Wert xlAnd
verwenden.
Nachfolgend werden einige Operator
-Parameter und ihre Beschreibung beschrieben.
- Der Operator
xlAnd
kann mit mehreren Kriterien wieCriteria1
undCriteria2
filtern. - Der
xlOr
-Operator kann entweder nach dem einen oder dem anderen Kriterium filtern. - Der Operator
xlTop10Items
hilft uns, die jeweilige Anzahl der höchstrangigen Werte aus den Kriterien herauszufiltern. - Der Operator
xlBottom10Items
hilft uns, die jeweilige Anzahl der am niedrigsten bewerteten Werte aus den Kriterien herauszufiltern. - Der Operator
xlTop10Percent
hilft uns, den bestimmten Prozentsatz der höchstrangigen Werte aus den Kriterien herauszufiltern. - Der Operator
xlBottom10Percent
hilft uns, den bestimmten Prozentsatz der Werte mit dem niedrigsten Rang aus den Kriterien herauszufiltern. - Der Operator
xlFilterValues
hilft uns, die Kriterien mit mehreren Werten zu filtern. - Der Operator
xlFilterCellColor
hilft uns, die Kriterien basierend auf Zellfarben zu filtern. - Der Operator
xlFilterFontColor
hilft uns, die Kriterien basierend auf Schriftfarben zu filtern. - Der Operator
xlFIlterIcon
hilft uns, die Kriterien basierend auf Schriftsymbolen zu filtern. - Der Operator
xlFilterDynamic
hilft uns, die dynamischen Werte zu filtern.