高级过滤器Excel VBA

高级过滤器Excel VBA,excel,advanced-filter,vba,Excel,Advanced Filter,Vba,我已经为我的高级过滤器创建了一个动态列表范围。我创建了一个名为“数据”的名称。当我尝试将名称输入VBA公式时,我收到一个错误。动态名称是否适用于条件和输出范围 Range("Sheet2!Data").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range _ ("Sheet2!Filter"), CopyToRange:=Range("Sheet2!Location"), Unique:=False 我收到以下运行时

我已经为我的高级过滤器创建了一个动态列表范围。我创建了一个名为“数据”的名称。当我尝试将名称输入VBA公式时,我收到一个错误。动态名称是否适用于条件和输出范围

Range("Sheet2!Data").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range _
        ("Sheet2!Filter"), CopyToRange:=Range("Sheet2!Location"), Unique:=False
我收到以下运行时错误“1004”:

对象“U全局”的方法“范围”失败


如果指定范围的范围仅适用于
Sheet2
,则需要使用
工作表(“Sheet2”)
完全限定
范围,如下代码所示:

With Worksheets("Sheet2")
    .Range("Data").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=.Range("Filter"), _
                CopyToRange:=.Range("Location"), Unique:=False
End With

如果指定范围的范围是
工作簿
,则使用以下代码(无需使用
工作表
限定
范围
):


如果指定范围的范围仅适用于
Sheet2
,则需要使用
工作表(“Sheet2”)
完全限定
范围,如下代码所示:

With Worksheets("Sheet2")
    .Range("Data").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=.Range("Filter"), _
                CopyToRange:=.Range("Location"), Unique:=False
End With

如果指定范围的范围是
工作簿
,则使用以下代码(无需使用
工作表
限定
范围
):


Sheets(“Sheet2”).Range(“数据”).advancedFilterAction:=xlFilterCopy,CriteriaRange:=.Range(“过滤器”),CopyToRange:=.Range(“位置”),Unique:=False
无论出于何种原因,它都无法识别名称。我为所有3个名称创建了一个偏移公式;数据、筛选器和位置。但当我使用数据时,代码崩溃了。我使用的范围是A11:N1000,但我可能会添加列和行,所以希望使其成为动态的。是否可能有最后一行或最后一列的范围?或
工作表(“Sheet2”).range(“数据”)。高级筛选操作:=xlFilterCopy,CriteriaRange:=.range(“筛选”),CopyToRange:=.range(“位置”),Unique:=False
,无论出于何种原因,它都无法识别名称。我为所有3个名称创建了一个偏移公式;数据、筛选器和位置。但当我使用数据时,代码崩溃了。我使用的范围是A11:N1000,但我可能会添加列和行,所以希望使其成为动态的。是否可能有最后一行或最后一列的范围?