我想根据单元格值过滤范围:
有效:
ThisWorkbook.Worksheets("Cost Table").Range("$A$38:$O$68").AutoFilter Field:=2, Criteria1:=Array("LATAM", "NOAM"), Operator:=xlFilterValues
不起作用:
ThisWorkbook.Worksheets("Cost Table").Range("$A$38:$O$68").AutoFilter Field:=2, Criteria1:=ThisWorkbook.Worksheets("Cost Table").Range("Q100").Value, Operator:=xlFilterValues
Q100 = "LATAM", "NOAM"
标准的理想输入是什么?
答案 0 :(得分:1)
您可以将LATAM
放入Q101上午{100} NOAM
(两者都没有引号),并使用Criteria1:=ThisWorkbook.Worksheets("Cost Table").Range("Q100:Q101").Value
作为标准。
答案 1 :(得分:0)
如果要应用多一个值,则必须创建一个数组。
dim crit() as string
crit = split(ThisWorkbook.Worksheets("Cost Table").Range("Q100").Value, ",")
ThisWorkbook.Worksheets("Cost Table").Range("$A$38:$O$68").AutoFilter Field:=2 Criteria1:=crit, Operator:=xlFilterValues
N.B。如果你的单元格Q100包含引号,你必须摆脱它:
crit = split(replace(ThisWorkbook.Worksheets("Cost Table").Range("Q100").Value, """",""), ",")