以下为我提供了工作表计划
上的自动过滤器的范围rAddress = Worksheets("Planning").AutoFilter.Range.Address
Range("C12").Select
Range("C12") = rAddress =[$B$4:$I$183]
我想在不删除当前自动过滤器的情况下更改自动过滤器范围,方法是使用以下范围作为输入。
Worksheets("Planning").Select
Rownumber = WorksheetFunction.CountA(Range("B:B")) - 1
Range("$B$4:$I$" & (Rownumber + 4))
如何在不删除和恢复自动过滤器的情况下编写宏以更改为此新范围?
答案 0 :(得分:0)
当您向工作表添加新行时,自动过滤器范围将自行扩展。如果您还需要4行,只需将它们添加到底部:
'Returns $A$1:$C$13 (your value will depend on your data).
Debug.Print ActiveSheet.AutoFilter.Range.Address
ActiveSheet.Cells(ActiveSheet.UsedRange.Rows.Count + 1, 1).Value = "foo"
'Is now $A$1:$C$14
Debug.Print ActiveSheet.AutoFilter.Range.Address
答案 1 :(得分:0)
我的经验是,AutoFilter需要第一列中的值才能正确检测添加的行。因此,如果您只想让AutoFilter对新添加的数据进行操作,只需将值填入第一列即可。