Mar*_*ová 6 excel vba autofilter
所以我需要过滤一行中的所有值,除了一个。我让它工作,使用这部分代码,这显然会过滤一切,但“比利时”,但我需要有变量。
Dim myValue As Variant
myValue = InputBox("Which country to exclude? ")
Range("AB1").Select
ActiveSheet.Range("$B$1:$BY$319696").AutoFilter Field:=27, Criteria1:="<>Belgium"
Run Code Online (Sandbox Code Playgroud)
对于我在特定国家/地区进行过滤的过滤器版本,该变量工作正常:
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
Run Code Online (Sandbox Code Playgroud)
那么为什么这不起作用:
ActiveSheet.Range("$B$1:$BY$319696").AutoFilter Field:=27, Criteria1:= <>myValue
Run Code Online (Sandbox Code Playgroud)
另外我不知道为什么它是这样结构的,它是从 Record Macro 生成的,尤其是 _
Criteria1:= _
myValue
“<>” 不是运算符(这就是您在“不工作”示例中尝试使用它的方式),而是需要成为您传递给 AutoFilter 的字符串的一部分(您就是这样做的)在第一个工作示例中。)
ActiveSheet.Range("$B$1:$BY$319696").AutoFilter Field:=27, Criteria1:= "<>" & myValue 应该管用。
| 归档时间: |
|
| 查看次数: |
18904 次 |
| 最近记录: |