输入数据时如何找出选择了哪些过滤器

时间:2019-07-07 12:25:30

标签: excel

我正在使用数据库,正在根据电子表格中的其他数据在新列中输入数据。

在将数据输入到我的一列中时,我相信我不小心选择了一个过滤器(或多个过滤器组合),这意味着缺少了用于输入的大量合格数据样本。但是,在纠正这一问题时,未知的过滤器实际上产生了明显更好的结果,所以我想知道是否有可能弄清楚在最初输入数据时启用了哪些过滤器?

我有一个带有初始条目的电子表格版本(但清除了所有过滤器)和一个已正确完成的电子表格版本。

1 个答案:

答案 0 :(得分:0)

这将创建一个名为currentFilterSettings的数组,其中第一个维度中的每个元素代表一列,过滤器设置保存在第二个维度中。

您可能希望在最后一行可用的地方休息一下,然后使用本地窗口查看结构。

Sub GetCurrentFilterSettings()
    Dim ws As Worksheet
    Dim currentFilterSettings()
    Dim i As Long
    Set ws = ActiveSheet
    With ws.AutoFilter.Filters
    ReDim currentFilterSettings(1 To .Count, 1 To 3)
        For i = 1 To .Count
            With .Item(i)
                If .On Then
                    currentFilterSettings(i, 1) = .Criteria1
                    If .Operator Then
                    currentFilterSettings(i, 2) = .Operator
                        If .Operator = xlAnd Or .Operator = xlOr Then
                            currentFilterSettings(i, 3) = .Criteria2
                        End If
                    End If
                End If
            End With
        Next i
    End With
End Sub