根据所选变量筛选出多个条件

Filtering out multiple criteria based on chosen variables

提问人:AesusV 提问时间:11/11/2021 最后编辑:braXAesusV 更新时间:11/11/2021 访问量:53

问:

我以前在板上看到过这个问题,但一直无法让它起作用。

我正在尝试根据下拉列表从列中过滤数据。

我已经能够让它适用于单个变量,但是对于多个变量,由于某种原因,它似乎直接跳到最后一个变量,我不知道为什么。

Dim A1 As Variant,

A1 = Worksheets("Comparison Sheet").Cells(9, 4).Value

Sheets("Data Sheet").Range("B$31:S279").AutoFilter Field:=4, Criteria1:=("<>" & A1), Operator:=xlFilterValues

以上适用于单个变量

Dim A1 As Variant, A2 As Variant, A3 As Variant, A4 As Variant

A1 = Worksheets("Comparison Sheet").Cells(9, 4).Value
A2 = Worksheets("Comparison Sheet").Cells(10, 4).Value
A3 = Worksheets("Comparison Sheet").Cells(11, 4).Value
A4 = Worksheets("Comparison Sheet").Cells(12, 4).Value

Sheets("Data Sheet").Range("B$31:S279").AutoFilter Field:=4, Criteria1:=Array("<>" & A1, "<>" & A2, "<>" & A3, "<>" & A4), Operator:=xlFilterValues

这将返回运行时错误 (1004) “Range 类的 AutoFilter 方法失败”

我不确定为什么我会在这里收到这个错误,因为我使用了与包容性过滤器基本相同的代码,并且没有错误或问题,例如

Sheets("Data Sheet").Range("B$31:S279").AutoFilter Field:=4, Criteria1:=Array(A1, A2, A3, A4), Operator:=xlFilterValues

最后,当我将运算符设置为 xlAnd 时,

`Sheets("Data Sheet").Range("B$31:S279").AutoFilter Field:=4, Criteria1:=Array("<>" & A1, "<>" & A2, "<>" & A3, "<>" & A4), Operator:=xlAnd`

它总是只显示 A4 中的值,我不确定为什么会这样。

Excel VBA 自动筛选

评论

0赞 Harry Lee 11/11/2021
重复的问题。stackoverflow.com/questions/28575754/......如果你想不等于,你只能有 2 个标准。
2赞 Harry Lee 11/11/2021
这回答了你的问题吗?使用 Excel VBA 筛选出多个条件

答: 暂无答案