所以我需要过滤掉一行中的所有值。 我使用这部分代码完成了它的工作,这显然会过滤所有内容,但是"比利时",但我需要有变量。
Dim myValue As Variant
myValue = InputBox("Which country to exclude? ")
Range("AB1").Select
ActiveSheet.Range("$B$1:$BY$319696").AutoFilter Field:=27, Criteria1:="<>Belgium"
对于我在特定国家/地区进行过滤的过滤器版本,该变量可以正常工作:
Dim myValue As Variant
myValue = InputBox("Which country to filter on: ")
Range("AB1").Select
ActiveSheet.Range("$B$1:$BY$319696").AutoFilter Field:=27, Criteria1:= _
myValue
ActiveWindow.SmallScroll Down:=-30
那么为什么这不起作用:
ActiveSheet.Range("$B$1:$BY$319696").AutoFilter Field:=27, Criteria1:= <>myValue
另外我不知道为什么它的结构是这样的,它是从Record Macro生成的,尤其是_
Criteria1:= _
myValue
答案 0 :(得分:4)
“&lt;&gt;”不是运算符(这是你在“不工作”的例子中尝试使用它的方式),而是需要成为传递给AutoFilter的字符串的一部分(这是你在第一个例子中所做的那样) 。)
ActiveSheet.Range("$B$1:$BY$319696").AutoFilter Field:=27, Criteria1:= "<>" & myValue
应该有用。