以下代码将autofilter应用于工作表“'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
End Sub
答案 0 :(得分:1)
您要求自动过滤器仅在单元格A6上运行。这没有意义,因此Excel扩展了选择以包括周围的单元格。您需要指定应用自动过滤器的范围。
答案 1 :(得分:1)
使用以下语法来避免您的问题:
Ws.Range("A6:e6").AutoFilter '... and so on with exact range address