为什么AutoFilter在指定的范围之前应用了三行

以下代码将autofilter应用于工作表“'Grand Totals'!B1”中设置的date条件中的多个工作表,应用于工作表范围A6,格式为date。 第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 

结束小组

您只是要求自动filter仅在A6单元上运行。 这是没有道理的,所以Excel扩展select包括周围的单元格。 您需要指定应用自动filter的范围。

使用以下语法来避免您的问题:

 Ws.Range("A6:e6").AutoFilter '... and so on with exact range address