EXCEL 2010:使用MACRO更改自动过滤器的范围

时间:2015-04-16 20:04:39

标签: vba excel-vba excel

以下为我提供了工作表计划

上的自动过滤器的范围
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))

如何在不删除和恢复自动过滤器的情况下编写宏以更改为此新范围?

2 个答案:

答案 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对新添加的数据进行操作,只需将值填入第一列即可。