Autofilter mit mehreren Kriterien in VBA

Iqra Hasnain 2 Juni 2022
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.

Beispieldaten zur Verwendung des Autofilters in VBA

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:

Autofilter für Beispieldaten in VBA aktiviert

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:

Verwenden von Autofilter mit einigen Kriterien in VBA

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:

Autofilter mit mehreren Werten für Beispieldaten in VBA aktiviert

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.

Beispieldaten zur Verwendung des Autofilters mit Datumsbereich in VBA

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:

Autofilter aktiviert mit Datumsbereich für Beispieldaten in VBA

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.

  1. Der Operator xlAnd kann mit mehreren Kriterien wie Criteria1 und Criteria2 filtern.
  2. Der xlOr-Operator kann entweder nach dem einen oder dem anderen Kriterium filtern.
  3. Der Operator xlTop10Items hilft uns, die jeweilige Anzahl der höchstrangigen Werte aus den Kriterien herauszufiltern.
  4. Der Operator xlBottom10Items hilft uns, die jeweilige Anzahl der am niedrigsten bewerteten Werte aus den Kriterien herauszufiltern.
  5. Der Operator xlTop10Percent hilft uns, den bestimmten Prozentsatz der höchstrangigen Werte aus den Kriterien herauszufiltern.
  6. Der Operator xlBottom10Percent hilft uns, den bestimmten Prozentsatz der Werte mit dem niedrigsten Rang aus den Kriterien herauszufiltern.
  7. Der Operator xlFilterValues hilft uns, die Kriterien mit mehreren Werten zu filtern.
  8. Der Operator xlFilterCellColor hilft uns, die Kriterien basierend auf Zellfarben zu filtern.
  9. Der Operator xlFilterFontColor hilft uns, die Kriterien basierend auf Schriftfarben zu filtern.
  10. Der Operator xlFIlterIcon hilft uns, die Kriterien basierend auf Schriftsymbolen zu filtern.
  11. Der Operator xlFilterDynamic hilft uns, die dynamischen Werte zu filtern.