VBA Unfilter系列

时间:2013-01-20 16:55:50

标签: excel-vba excel-2007 vba excel

我正在使用此代码:

Sheets("Sheet1").AutofilterMode = False

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

谢谢!

如果它有帮助,这个表是从Sql Server链接的(数据 - >来自其他来源 - >来自Sql Server ...),它有一个彩色设计布局(特定于表格)。

2 个答案:

答案 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