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