Filters 集合对象

         
Worksheets (Worksheet)
AutoFilter
Filters (Filter)

Filter 对象的集合,这些对象代表自动筛选区域中的所有筛选。

Filters 集合的用法

可用 Filters 方法返回 Filters 集合。下例创建包含工作表“Crew”中已自动筛选区域筛选条件和操作符的列表。

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

可用 Filters(index) 返回单个 Filter 对象,其中 index 为筛选名称或索引编号。下例将变量设为工作表“Crew”筛选区域中第一列的筛选的 On 属性值。

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