VBA-Programmierung in Microsoft Excel

Tutorial: Excel-Beispiele

VBA-Begriff: Filters-Auflistungsobjekt

Eine Auflistung aller Filter-Objekte, die alle Filter in einem automatisch gefilterten Bereich darstellt.

Verwenden der Filters-Auflistung

Verwenden Sie die Filters-Methode, um die Filters-Auflistung zurückzugeben. Das folgende Beispiel erstellt eine Liste, die die Kriterien und die Operatoren für die Filter im automatisch gefilterten Bereich im Tabellenblatt "Crew" enthält.

Dim f As Filter
Dim w As Worksheet
Const ns As String = "Not set"
Set w = Worksheets("Crew")
Set w2 = Worksheets("FilterData")
rw = 1
For Each f In w.AutoFilter.Filters
    If f.On Then
        c1 = Right(f.Criteria1, Len(f.Criteria1) - 1)
        If f.Operator Then
            op = f.Operator
            c2 = Right(f.Criteria2, Len(f.Criteria2) - 1)
        Else
            op = ns
            c2 = ns
        End If
    Else
        c1 = ns
        op = ns
        c2 = ns
    End If
    w2.Cells(rw, 1) = c1
    w2.Cells(rw, 2) = op
    w2.Cells(rw, 3) = c2
    rw = rw + 1
Next

Verwenden Sie Filters(Index), wobei Index den Namen oder die Indexnummer des Filters angibt, um ein einzelnes Filter-Objekt zurückzugeben. Das folgende Beispiel legt eine Variable auf den Wert der On-Eigenschaft des Filters für die erste Spalte im gefilterten Bereich im Tabellenblatt "Crew" fest.

Set w = Worksheets("Crew")
If w.AutoFilterMode Then
    filterIsOn = w.AutoFilter.Filters(1).On
End If