Range.AutoFilter-Methode (Excel)
Filtert eine Liste mithilfe von AutoFilter.
Syntax
Ausdruck.AutoFilter (Field, Criteria1, Operator, Criteria2, SubField, VisibleDropDown)
Ausdruck Ein Ausdruck, der ein Range-Objekt zurückgibt.
Parameter
Name | Erforderlich/Optional | Datentyp | Beschreibung |
---|---|---|---|
Feld | Optional | Variant | Der Ganzzahloffset des Felds, auf dem der Filter basieren soll (von der linken Seite der Liste ist das Feld ganz links eins). |
Criteria1 | Optional | Variant | Die Kriterien (eine Zeichenfolge, z. B. "101"). Mit "=" können Sie leere Felder suchen, mit "<>" Felder, die nicht leer sind, und mit "><" , Felder (ohne Daten) in Datentypen auswählen.Fehlt dieses Argument, lautet das Kriterium "Alle". Wenn OperatorxlTop10Items ist, gibt Criteria1 die Anzahl der Elemente an (beispielsweise "10"). |
Operator | Optional | XlAutoFilterOperator | Eine XlAutoFilterOperator-Konstante, die den Typ des Filters angibt. |
Criteria2 | Optional | Variant | Das zweite Kriterium (eine Zeichenfolge). Wird mit Criteria1 und Operator verwendet, um ein Verbundkriterium zu erstellen. Wird auch als einzelne Kriterien für Datumsfelder verwendet, die nach Datum, Monat oder Jahr filtern. Gefolgt von einem Array, der die Filterung beschreibt Array(Level, Date). Hierbei ist "Level" 0-2 (Jahr, Monat, Datum) und "Date" ein gültiges Datum innerhalb des Filterzeitraums. |
SubField | Optional | Variant | Das Feld aus einem Datentyp, auf das die Kriterien angewendet werden (z. B. das Feld "Bevölkerung" in Geographie oder das Feld "Anzahl" bei Aktien). Wenn Sie diesen Wert auslassen, wird "(Anzeigewert)" verwendet. |
VisibleDropDown | Optional | Variant | True, um den Dropdownpfeil „AutoFilter“ für das gefilterte Feld anzuzeigen. False, um den Dropdownpfeil „AutoFilter“ für das gefilterte Feld auszublenden. Der Wert ist standardmäßig auf True festgelegt. |
Rückgabewert
Variant
Bemerkungen
Wenn Sie alle Argumente auslassen, wechselt diese Methode einfach die Anzeige der „AutoFilter“-Dropdownpfeile im angegebenen Bereich.
Excel für Mac unterstützt diese Methode nicht. Ähnliche Methoden in Selection and ListObject werden unterstützt.
Im Gegensatz zu Formeln erfordern Unterfelder keine Klammern, um Leerzeichen einzuschließen.
Beispiel
In diesem Filter wird eine Liste ab Zelle A1 auf "Sheet1" gefiltert, um nur die Einträge anzuzeigen, in denen Feld eins der Zeichenfolge "Otis" entspricht. Der Dropdownpfeil für Feld eins wird ausgeblendet.
Worksheets("Sheet1").Range("A1").AutoFilter _
Field:=1, _
Criteria1:="Otis", _
VisibleDropDown:=False
In diesem Beispiel wird eine Liste beginnend in Zelle A1 auf Blatt1 so gefiltert, dass nur Einträge angezeigt werden, in denen die Werte von Feld 1 ein SubField "Administratorabteilung 1 (Bundesland/Sonstiges)" enthalten, wobei der Wert "Washington" ist.
Worksheets("Sheet1").Range("A1").AutoFilter _
Field:=1, _
Criteria1:="Washington", _
SubField:="Admin Division 1 (State/province/other)"
In diesem Beispiel wird eine Tabelle "Table1" auf Blatt1 so gefiltert, dass nur die Einträge angezeigt werden, bei denen die Werte von Feld 1, 3 einen "(Anzeigewert)" haben, der entweder "1", "3", "Seattle" oder "Redmond" lautet.
Worksheets("Sheet1").ListObjects("Table1").Range.AutoFilter _
Field:=1, _
Criteria1:=Array("1", "3", "Seattle", "Redmond"), _
Operator:=xlFilterValues
Datentypen können mehrere SubField-Filter anwenden. In diesem Beispiel wird eine Tabelle "Table1" auf Blatt1 so gefiltert, dass nur die Einträge angezeigt werden, bei denen die Werte von Feld 1 ein SubField "Zeitzonen" enthalten, wobei der Wert "Pazifische Zeit" ist und das SubField "Gründungsdatum" "1851" lautet oder "(Keine Daten)" vorhanden ist.
Worksheets("Sheet1").ListObjects("Table1").Range.AutoFilter _
Field:=1, _
Criteria1:="Pacific Time Zone", _
SubField:="Time Zone(s)"
Worksheets("Sheet1").ListObjects("Table1").Range.AutoFilter _
Field:=1, _
Criteria1:=Array("1851", "><"), _
Operator:=xlFilterValues, _
SubField:="Date founded"
In diesem Beispiel wird eine "Table1" auf Blatt1 so gefiltert, dass die obersten 10 Einträge für Feld 1 basierend auf dem SubField "Bevölkerung" angezeigt werden.
Worksheets("Sheet1").ListObjects("Table1").Range.AutoFilter _
Field:=1, _
Criteria1:="10", _
Operator:=xlTop10Items, _
SubField:="Population"
In diesem Beispiel wird Tabelle1 auf Blatt1 so gefiltert, dass für Feld1 alle Einträge für Januar 2019 und Februar 2019 angezeigt werden. Es muss keine Zeile mit dem Wert "31. Januar" vorliegen.
Worksheets("Sheet1").ListObjects("Table1").Range.AutoFilter _
Field:=1, _
Criteria2:=Array(1, "1/31/2019", 1, "2/28/2019")
Support und Feedback
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.