VBA - 如何针对两个以上的标准在同一字段上自动筛选?

时间:2018-05-11 21:25:45

标签: vba excel-vba autofilter excel

我一整天都在寻找答案,似乎无法找到解决问题的方法。我发现问题最接近的是这个链接:

Use autofilter on more than 2 criteria

这是我的工作表:

My Worksheet

然而,这并没有解决我的问题。我一直在使用该问题的答案作为我搜索的基础。我没有收到任何错误,但是当我运行代码时,它会过滤掉第6-35行(整个过程!)。

Dim calc as Worksheet
Dim lastrow as Integer

Set calc = ThisWorkbook.Sheets("Calc")
lastrow = Application.CountA(Range("A6:A" & Rows.Count)) + 5

calc.Range("A5:T" & lastrow).AutoFilter _
     Field:=4, _
     Criteria1:=Array(3410, 3420, 3440, 3450, 3490, 1445), _
     Operator:=xlFilterValues

我也尝试了相同的代码,但没有"运营商"它的一部分,它实际上用数组中的最后一个标准(1445)过滤两行(第6行和第20行)。但为什么不休息呢?我迷路了,而且我一直在寻找几个小时。我觉得这应该是直截了当的。

1 个答案:

答案 0 :(得分:0)

解决方案是使用数字引号。 您的代码的另一个问题是您在活动表上定义了最后一行,而此表可能不是calc表。使用calc.前面的参考文献。