Excel自动筛选器,但可变的价值
所以我需要过滤除了一个之外的所有的值。 我使用了这部分代码,它显然会过滤一切,但“比利时”,但我需要在那里变化。
Dim myValue As Variant myValue = InputBox("Which country to exclude? ") Range("AB1").Select ActiveSheet.Range("$B$1:$BY$319696").AutoFilter Field:=27, Criteria1:="<>Belgium"
对于我在特定国家过滤的filter版本,variables工作得很好:
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
另外我不知道为什么它是这样的结构,它是从loggingmacros生成的,尤其是_ Criteria1:= _ myValue
“<>”不是一个操作符(这是你在“不工作”的例子中是如何使用它的),而是需要成为你传递给AutoFilter的string的一部分(这是你怎么做的在第一个例子中)。
ActiveSheet.Range("$B$1:$BY$319696").AutoFilter Field:=27, Criteria1:= "<>" & myValue
应该工作。