3

シートにフィルター処理されたデータがあるかどうかを確認する方法はありますか (フィルター処理されたデータがある場合はフィルターをクリアし、そうでない場合は何もしません)。ここにこのコードがありますが、2番目の部分の書き方がわかりません:

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
4

2 に答える 2

1

このコードは、ActiveSheet からすべてのオートフィルターを削除します

ActiveSheet.Autofilter.Range.Autofilter

その後、適切な範囲を定義してフィルターをリセットできます (基準が選択されていません)。

ActiveSheet.Range("A1:B1").Autofilter
于 2015-02-04T13:37:35.543 に答える