VBA如何修改代码以自动选择过滤后的所有行

时间:2018-10-25 09:25:31

标签: vba

如何修改代码以在过滤后自动选择所有整行并更新Rows.select。

ActiveSheet.Range("$A$1:$O$41325").AutoFilter Field:=3, Criteria1:="Pet"
    Rows("537:537").Select

1 个答案:

答案 0 :(得分:0)

可能是您追求的目标

With ActiveSheet.Range("$A$1:$O$41325")
    .AutoFilter Field:=3, Criteria1:="Pet"
    .SpecialCells(XlCellType.xlCellTypeVisible).Select
End With

或者如果您需要选择最后一个过滤的行,则使用Areas对象的Range属性:

With ActiveSheet.Range("$A$1:$O$41325")
    .AutoFilter Field:=3, Criteria1:="Pet"
    With Intersect(.Parent.UsedRange, .SpecialCells(xlCellTypeVisible))
        With .Areas(.Areas.Count)
            .Rows(.Rows.Count).Select
        End With
    End With
End With

但是您几乎不需要select进行任何操作,您很可能(也很幸运)将对象设置为所需范围,然后执行 act (具有相关的方法 properties