如何将变量传递到范围? (VBA)

时间:2018-11-04 20:02:09

标签: 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文件的行数均不同。你们可以帮忙吗?请

1 个答案:

答案 0 :(得分:1)

您非常亲密。与为最后一行定义范围时类似的方法。变量必须在" "

之外
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

结果

enter image description here