我正在使用这段代码:
Sheets("Sheet1").AutofilterMode = False
使用 VBA 取消过滤 Excel 工作表中的数据(重点是清除所有过滤器)。这似乎并不总是有效,有更好的方法吗?
谢谢!
如果有帮助,此表从 Sql Server 链接(数据 --> 从其他来源 --> 从 Sql Server...),并且它具有彩色设计布局(特定于表)。
我正在使用这段代码:
Sheets("Sheet1").AutofilterMode = False
使用 VBA 取消过滤 Excel 工作表中的数据(重点是清除所有过滤器)。这似乎并不总是有效,有更好的方法吗?
谢谢!
如果有帮助,此表从 Sql Server 链接(数据 --> 从其他来源 --> 从 Sql Server...),并且它具有彩色设计布局(特定于表)。
改为使用Worksheets("Sheet1").ShowAllData
。请参阅http://msdn.microsoft.com/en-us/library/office/bb178108%28v=office.12%29.aspx。
仅当ShowAllData
您的工作表具有过滤器时才有效,否则它将损坏。我发现您可以使用它创建一个函数On Error Resume Next
,它应该适用于所有情况:
Sub ShowAllData()
On Error Resume Next
Worksheets("Sheet1").ShowAllData
End Sub
然后从你的主子调用函数:
Sub Main()
ShowAllData
End Sub