Excel VBA筛选-获取错误

Excel VBA筛选-获取错误,excel,vba,Excel,Vba,我正在尝试使用VBA筛选数据表,但没有成功 如果我写下。。。它过滤得很好 ActiveSheet.ListObjects("OPT").Range.AutoFilter Field:=17, Criteria1 _ :="=QQQ", Operator:=xlAnd 现在,如果在单元格C2I中输入值QQQ ActiveSheet.ListObjects("OPT").Range.AutoFilter Field:=17, Criteria1 _ :="=" & R

我正在尝试使用VBA筛选数据表,但没有成功

如果我写下。。。它过滤得很好

ActiveSheet.ListObjects("OPT").Range.AutoFilter Field:=17, Criteria1 _
    :="=QQQ", Operator:=xlAnd
现在,如果在单元格
C2
I中输入值
QQQ

ActiveSheet.ListObjects("OPT").Range.AutoFilter Field:=17, Criteria1 _
       :="=" & Range("C2"), Operator:=xlAnd

Excel筛选并不提供任何结果。。。我尝试使用
Range(“C2”).Value
Range(“C2”).Text
但有相同的问题。。。筛选中没有结果。。。有人知道我的语法哪里错了吗。。。谢谢

我在Excel 2010上试用了这个方法,您只需引用要使用的值的范围,它就会过滤掉。因此,对于您的示例,
ActiveSheet.ListObjects(“OPT”).Range.AutoFilter字段:=17,Criteria1:=Range(“C2”),运算符:=xlAnd
将起作用并过滤列表。

在任何情况下都必须是Range.value。ListObjects(“OPT”)是数据表吗?尝试将筛选器应用于单个单元格,并用ActiveSheet替换范围(“C2”)。范围(“C2”)。值。是
ListObjects(“OPT”)
是链接到Powerpivot数据模型的表。。。我尝试了
ActiveSheet.Range(“C2”).Value
,但没有成功。我唯一能想到的是,C2中没有值,或者该值不在表的第17行。即使您编写代码
ActiveSheet.ListObjects(“OPT”).Range.AutoFilter字段:=17,Criteria1:=“=”&Range(“C2”),运算符:=xlAnd
也可以像您那样解决它。。。。在一行代码中。。。但是当代码在两行上时,就像我的问题中所说的,不起作用。。。。很奇怪。。。你知道为什么吗