有什么方法可以检查工作表中是否有已过滤的数据(如果有已过滤的数据,请清除过滤器,否则什么也不做)?我在这里有这段代码,但是我不知道如何写第二部分:
Sub ProtectAll()
Dim wSheet As Worksheet
For Each wSheet In Worksheets
With wSheet
If .AutoFilterMode Then
.ShowAllData
.Cells.Locked = True
.Cells.FormulaHidden = False
'.Range(wSheet.Cells(12, 1), wSheet.Cells(12, 18)).AutoFilter
'.Protect Password:=Pwd, AllowFiltering:=True
ElseIf ??? Then
End If
End With
Next wSheet
End Sub
最佳答案
此代码从ActiveSheet中删除所有自动过滤器
ActiveSheet.Autofilter.Range.Autofilter
之后,您可以通过定义适当的范围来重置过滤器(未选择标准)
ActiveSheet.Range("A1:B1").Autofilter