在Autofilter criteria1 vba中使用variables

我一直在面对一个非常恼人的问题,在Excel 2013 VBA中使用Autofilter criteria1参数时,我似乎无法解决这个问题。

我发现这个链接,但它不适合我

基本上我只是想传递一个variables到像下面的criteria1参数。

For Each Site In Worksheets("Results").Range("A2:A200") With Worksheets("2G Cell Data") lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row .Range("A1:O" & lastRow).AutoFilter Field:=Column2GSiteName, _ Criteria1:="=*" & Site & "*", Operator:=xlAnd End With Next Site 

没有声明为variables“网站”。 结果是filter将过滤符合“Equals”符号“*”的列。

我注意到,如果我直接分配一个string的variables,并把它的标准参数,它工作正常,所以我试图使用CSTR转换为stringvariables首先,仍然没有工作。

宏观结果

*更新:我发现下面的代码来过滤我所需要的:

 For Each Site In Worksheets("Results").Range("A2:A200") With Worksheets("2G Cell Data") lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row .Range("A1:O" & lastRow).AutoFilter Field:=Column2GSiteName, Criteria1:="=*" & Worksheets("Results").Range("A" & countSite) & "*", Operator:=xlAnd .Range("A1:O" & lastRow).AutoFilter Field:=Column2GFreq, Criteria1:="GSM900", Operator:=xlAnd