gpt4 book ai didi

vba - Excel 2013 VBA 清除事件过滤器

转载 作者:行者123 更新时间:2023-12-01 23:49:40 25 4
gpt4 key购买 nike

在运行某个宏之前,我需要从工作表中清除所有事件过滤器,如果有事件过滤器,此行就可以正常工作

If ActiveSheet.AutoFilterMode Then ActiveSheet.ShowAllData

但是,如果没有选择任何过滤器,则会返回错误

Runtime error '1004';
ShowAllData method of Worksheet class failed

我从这个问题的答案中得到了该代码 Excel 2013 VBA Clear All Filters macro

但是,这个问题并没有解释如果没有过滤器处于事件状态,如何忽略该行。

如果当前没有应用任何事件过滤器,如何忽略此行?

编辑

例如,所有列标题都已自动过滤,因此如果我的工作表按“女性”过滤,我需要在运行宏之前删除该过滤器,但是如果没有应用过滤器,只需运行宏即可正常

最佳答案

使用 FilterMode 而不是 AutoFilterMode。我经常处理过滤器,这段代码工作得很好。

If ActiveSheet.FilterMode Then
ActiveSheet.ShowAllData
End If

确保工作表不 protected ,因为这也会导致 1004 错误。

关于vba - Excel 2013 VBA 清除事件过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28086408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com