美好的一天。
以下代码可以满足我的需求,即正确过滤我的数据。
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
有关如何在数组中使用变量的任何建议吗?
由于 莱斯
答案 0 :(得分:3)
它想要一个数组,所以给它一个数组
Sub test()
Dim ws As Worksheet
Set ws = ActiveSheet
Dim rng As Range
Set rng = ws.Range("A1:A10")
Dim CityStr() As Variant
CityStr() = Array("Delta", "Ladner", "octopus")
rng.AutoFilter field:=1, Criteria1:=CityStr(), Operator:=xlFilterValues
End Sub
声明变量数组,用字符串填充它,并将其用作criteria1。我认为你必须使用变种每kb。