Vba Excel自动筛选除变量值以外的所有值
所以我需要过滤一行中除一个之外的所有值。 我使用了这部分代码,这部分代码显然会过滤所有东西,除了“比利时”,但我需要有变量Vba Excel自动筛选除变量值以外的所有值,vba,excel,autofilter,Vba,Excel,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" 那么,为什么
Dim myValue As Variant
myValue = InputBox("Which country to exclude? ")
Range("AB1").Select
ActiveSheet.Range("$B$1:$BY$319696").AutoFilter Field:=27, Criteria1:="<>Belgium"
那么,为什么这不起作用:
ActiveSheet.Range("$B$1:$BY$319696").AutoFilter Field:=27, Criteria1:= <>myValue
ActiveSheet.Range($B$1:$BY$319696”)。自动筛选字段:=27,标准1:=myValue
我也不知道为什么它是这样构造的,它是从记录宏生成的,特别是
Criteria1:=_
myValue
“”不是运算符(这是您在“不工作”示例中尝试使用它的方式),而是需要成为传递给自动筛选的字符串的一部分(这是您在第一个工作示例中的操作方式)
ActiveSheet.Range(“$B$1:$BY$319696”)。自动筛选字段:=27,标准1:=”&myValue
应该可以工作。下划线\uuuquot>允许代码在一行内中断。VBA的特点是,每个可执行语句都包含在一行中,除非用\uu
继续。宏记录器喜欢添加额外的参数,并将它们跨行拆分以提高可读性。
ActiveSheet.Range("$B$1:$BY$319696").AutoFilter Field:=27, Criteria1:= <>myValue