根据单元格值过滤标准
我想根据单元格值过滤一个范围:
有用:
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"
什么是标准的理想input?
如果您想要应用更多的值,您必须创build一个数组。
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
NB如果你的单元格Q100包含引号,你必须摆脱它:
crit = split(replace(ThisWorkbook.Worksheets("Cost Table").Range("Q100").Value, """",""), ",")
您可以将Q100中的LATAM
放入Q101(均不带引号),并使用Criteria1:=ThisWorkbook.Worksheets("Cost Table").Range("Q100:Q101").Value
。