excel – 如何将变量传递给范围? (VBA)

我正在创建一个宏(Excel)

我通过变量保存工作表上使用的行数,我需要将它传递给过滤器范围,希望这段代码有助于解释我正在尝试做什么…

Sub Filtering()

Rows("11:11").Select
        Selection.AutoFilter

     'save the amount of rows used on the sheet
    Dim lastRow As Long
        lastRow = Range("AC" & Rows.Count).End(xlUp).Row

    ActiveSheet.Range("$A$11:$AC$lastRow").AutoFilter Field:=18, Criteria1:=">10", _
            Operator:=xlAnd

    End Sub

过滤器将始终位于第11行,列始终为A到AC,但每个Excel文件的行数不同.你能帮忙吗? PLS

最佳答案 你很近.当您为最后一行定义范围时的类似方法.变量必须在“”之外

Option Explicit

Sub Filtering()

    'Rows("11:11").Select 'Redudant
    'Selection.AutoFilter 'Redudant

    'save the amount of rows used on the sheet
    Dim lastRow As Long
    lastRow = Range("AC" & Rows.Count).End(xlUp).Row

    ActiveSheet.Range("$A$11:$AC" & lastRow).AutoFilter Field:=18, Criteria1:=">10", _
        Operator:=xlAnd

End Sub

结果

《excel – 如何将变量传递给范围? (VBA)》

点赞