6

我正在使用这段代码:

Sheets("Sheet1").AutofilterMode = False

使用 VBA 取消过滤 Excel 工作表中的数据(重点是清除所有过滤器)。这似乎并不总是有效,有更好的方法吗?

谢谢!

如果有帮助,此表从 Sql Server 链接(数据 --> 从其他来源 --> 从 Sql Server...),并且它具有彩色设计布局(特定于表)。

4

2 回答 2

16

改为使用Worksheets("Sheet1").ShowAllData。请参阅http://msdn.microsoft.com/en-us/library/office/bb178108%28v=office.12%29.aspx

于 2013-01-20T20:29:35.343 回答
2

仅当ShowAllData您的工作表具有过滤器时才有效,否则它将损坏。我发现您可以使用它创建一个函数On Error Resume Next,它应该适用于所有情况:

Sub ShowAllData()
On Error Resume Next
Worksheets("Sheet1").ShowAllData

End Sub

然后从你的主子调用函数:

Sub Main()

ShowAllData

End Sub
于 2018-02-12T17:51:19.537 回答