如何使用 VBA 在 Excel 2016 中获取筛选条件?

Max*_*her 4 excel vba

我正在开发一个 Excel 2016 VBA 宏,它将过滤器应用于标题列。然后,用户应用过滤条件。我希望能够在 VBA 中检索用户应用的过滤条件并将其保存到字符串数组中。有没有办法访问过滤条件?

mmu*_*tta 5

我检查了这个问题并几乎复制了代码的第一部分,唯一的问题是您没有得到它所应用的可能有问题的字段。

Dim sht As Worksheet
Set sht = ActiveSheet
With sht.AutoFilter
    With .Filters
        ReDim filtarr(1 To .Count, 1 To 3)
        For f = 1 To .Count
            With .Item(f)
                If .On Then
                    filtarr(f, 1) = .Criteria1
                    Debug.Print .Criteria1
                    If .Operator Then
                        filtarr(f, 2) = .Operator
                        filtarr(f, 3) = .Criteria2
                        Debug.Print .Operator & ", " & .Criteria2
                    End If
                End If
            End With
        Next f
    End With
End With
Run Code Online (Sandbox Code Playgroud)