显示已在Excel

时间:2018-06-14 10:31:55

标签: excel user-defined-functions

我希望能够显示已应用于数据的过滤器列表。

我找到了一个解决方案,从评论中可以看出https://superuser.com/questions/436667/show-excel-column-filter-information-in-cells

我复制了这个功能:

Function CheckFilters(r As Range) As String

Set AWS = ActiveSheet
fstate = ""

If AWS.FilterMode Then
    c = AWS.AutoFilter.Filters.Count

    'go through each column and check for filters
    For i = 1 To c Step 1
       If AWS.AutoFilter.Filters(i).On Then
            fstate = fstate & r(i).Value & ", "
       End If
Next i

'removes the last comma
fstate = Left(fstate, Len(fstate) - 2) 
Else
    fstate = "NO ACTIVE FILTERS"
End If

CheckFilters = fstate

End Function

进入模块并将以下公式复制到我的电子表格中的单元格中:

=CheckFilters(A3:U3) & LEFT(SUBTOTAL(9,A5:A200),0)

具有公式的单元格显示 #Value 错误,当我尝试过滤标题时,我收到“变量未定义”错误,并在VBA窗口中突出显示AWS =

我尝试删除AWS元素并通过该函数使用ActiveSheet但我接收到另一个“未定义变量”错误,并突出显示fstate

我不确定将'fstate'定义为什么。

我会回到原帖,但我没有足够的代表添加评论以联系发布解决方案的成员。

感谢任何帮助!

编辑 - 原始问题已解决但我现在在.FilterMode行中突出显示了“编译错误:未找到方法或数据成员”消息If AWS.FilterMode Then ...

立即寻求支持以修复此部分:)

谢谢。

0 个答案:

没有答案