美好的一天。使用变量的Excel数据过滤数据
下面的代码做我想做的事,即正确地过滤我的数据。
ActiveSheet.Range("$A$1:$AV$791").AutoFilter Field:=5, Criteria1:=Array(_
"Delta", "Ladner", "Tsawwassen"), Operator:=xlFilterValues
但是,我想使用变量来更改和过滤不同的城市。 下面的代码给了我随附的字符串。
cityStr = """Delta""" & ", " & """Ladner""" & ", " & """Tsawwassen"""
returns the string: "Delta", "Ladner", "Tsawwassen"
但是,当我把变量放入filter语句中时,它什么也不做。如果我在cityStr周围使用引号,则无关紧要 - 不起作用。
ActiveSheet.Range("$A$1:$AV$791").AutoFilter Field:=5, Criteria1:=Array(_
cityStr), Operator:=xlFilterValues
有关如何在数组中使用变量的任何建议?
感谢 莱斯
您是否调试并检查变量中的值被替换后的最终值是什么? – Spidey
是的,变量显示为“Delta”,“Ladner”,“Tsawwassen”。如果它在一个变量中,Autofilter似乎无法识别这个字符串。结果是没有任何东西被过滤,并创建一个没有任何东西的过滤列表。 –
如果我使用单个变量(如deltaStr =“Delta”),并且删除阵列,则自动过滤器可以正常工作。所以autofilter语句以Criteria1:= deltaStr结束。这工作正常,它是我遇到麻烦的数组中的变量。 –