繁体   English   中英

如何使用VBA处理自动筛选

[英]How to deal with autofilter using vba

在此处输入图片说明

我在ActiveSheet.ShowAllData行的以下行代码遇到了麻烦,因为有时我的工作表会启用自动筛选器,有时会关闭自动筛选器。 有没有办法解决这个问题?

在此处输入图片说明

考虑:

Sub Framm()
    With ActiveSheet
        If (.AutoFilterMode And .FilterMode) Or .FilterMode Then
            .ShowAllData
        End If
    End With
End Sub

请注意,这实际上不会删除自动过滤器,只会删除所有取消选择。 它还将:

  • 如果所有数据都已显示,则不否
  • 如果不存在过滤,则为barf。

如果直接将代码粘贴到问题中而不是显示图片,则容易得多-无法将图片复制并粘贴到VBE中。

您需要在清除过滤器之前检查是否已过滤任何内容:

If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM