如果Excel VBA不存在,则添加Autofilter

我如何检查一个范围是否已经有自动filter,如果没有,就应用它们。

目前我只是使用

Range("A1:N1").AutoFilter 

但是,如果该范围已经有filterclosures它。

我已经search了这个,并find了许多解决scheme来清除和重置自动filter,但没有关于实际检查filter是否实际应用。

你目前的解决scheme应该可以正常工作,但是你可以使用If语句

 If Sheets(curSheet).AutoFilterMode = True Then 'Do Nothing Else Sheets(curSheet).Range("A1").AutoFilter End If 

而不是检查我刚刚closuresAutoFilter之前重新申请。

 Sheets(curSheet).AutoFilterMode = False Range("A1:N1").AutoFilter