0

次のコードは、ワークシート "'Grand Totals'!B1"で設定された日付基準からいくつかのワークシートに自動フィルターを適用し、日付としてフォーマットされたワークシート範囲A6に適用します。行1〜5には、ヘッダーと数式が含まれています。ただし、行3〜5は、A6で始まるフィルタリングされた行とともに消えています。誰もが理由を見ることができますか?私が知っていることによると、行A6の上のすべてが表示されたままになるはずです。よろしくお願いします。

Sub ApplyFilterDate()

    Dim Ws As Worksheet
    Application.ScreenUpdating = False 'Turn off ScreenUpdating to speed filtering
        For Each Ws In ActiveWorkbook.Worksheets
            If Ws.Name <> "Grand Totals" Then
                Ws.Activate
                Ws.AutoFilterMode = False 'Remove any existing filters
                Ws.Range("A6").AutoFilter Field:=1, Criteria1:=Range("'Grand Totals'!B1").Text
                Range("G2").Activate
                Center_it 'Puts next data entry cell in approximate center of screen
            End If
        Next
    Sheet1.Activate
    Range("B2").ClearContents
    Range("B1").Interior.ColorIndex = 3 'Set color of cell showing filter date
    Range("B1").Activate
    Application.ScreenUpdating = True 'Turn on ScreenUpdating

サブ終了

4

2 に答える 2

1

オートフィルターにセルA6のみで動作するように要求しています。これは意味がないため、Excelは選択範囲を拡張して周囲のセルを含めます。オートフィルターを適用する範囲を指定する必要があります。

于 2013-03-26T20:08:30.833 に答える
1

問題を回避するには、次の構文を使用してください。

Ws.Range("A6:e6").AutoFilter '... and so on with exact range address
于 2013-03-26T20:11:38.923 に答える