Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA Excel-组合多个自动过滤器_Vba_Excel - Fatal编程技术网

VBA Excel-组合多个自动过滤器

VBA Excel-组合多个自动过滤器,vba,excel,Vba,Excel,我有多个过滤器(范围(“A5:I5”)),并希望连续组合这些过滤器,如下所示: Range("A5:I5").Select Selection.AutoFilter Range("A6:A500").AutoFilter Field:=1, Criteria1:="<>0" Range("B6:B500").AutoFilter Field:=2, Criteria1:="<>" Range("F6:F500").AutoFilter Field:=6, Criteri

我有多个过滤器(范围(“A5:I5”)),并希望连续组合这些过滤器,如下所示:

Range("A5:I5").Select
Selection.AutoFilter

Range("A6:A500").AutoFilter Field:=1, Criteria1:="<>0"
Range("B6:B500").AutoFilter Field:=2, Criteria1:="<>"
Range("F6:F500").AutoFilter Field:=6, Criteria1:="yes", Operator:=xlOr, Criteria2:="="
Range("G6:G500").AutoFilter Field:=7, Criteria1:="yes", Operator:=xlOr, Criteria2:="="
范围(“A5:I5”)。选择
自动筛选
范围(“A6:A500”)。自动筛选字段:=1,标准1:=0
范围(“B6:B500”)。自动筛选字段:=2,标准1:=“”
范围(“F6:F500”)。自动筛选字段:=6,标准1:=“是”,运算符:=xlOr,标准2:=”
范围(“G6:G500”)。自动筛选字段:=7,标准1:=“是”,运算符:=xlOr,标准2:=”
然而,它们似乎相互抵消,我的目标是“是”过滤器只对以前过滤过的数据进行过滤。

如何“堆叠”过滤器?

将其设置为一个
范围
如:

Range("A5:I5").Autofilter
With Range("A6:I500")
  .AutoFilter Field:=1, Criteria1:="<>0"
  .AutoFilter Field:=2, Criteria1:="<>"
  .AutoFilter Field:=6, Criteria1:="yes", Operator:=xlOr, Criteria2:="="
  .AutoFilter Field:=7, Criteria1:="yes", Operator:=xlOr, Criteria2:="="
End With
范围(“A5:I5”)。自动筛选
范围(“A6:I500”)
.自动筛选字段:=1,标准1:=0
.自动筛选字段:=2,标准1:=“”
.自动筛选字段:=6,标准1:=“是”,运算符:=xlOr,标准2:=”
.自动筛选字段:=7,标准1:=“是”,运算符:=xlOr,标准2:=”
以
还要尽量避免
。选择
,这对于任何操作都不是必需的

这真是太棒了(几分钟后就可以接受了)。你能看一下吗?我不知道如何添加最终条件/标准