我一整天都在寻找答案,似乎无法找到解决问题的方法。我发现问题最接近的是这个链接:
Use autofilter on more than 2 criteria
这是我的工作表:
然而,这并没有解决我的问题。我一直在使用该问题的答案作为我搜索的基础。我没有收到任何错误,但是当我运行代码时,它会过滤掉第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行)。但为什么不休息呢?我迷路了,而且我一直在寻找几个小时。我觉得这应该是直截了当的。
答案 0 :(得分:0)
解决方案是使用数字引号。
您的代码的另一个问题是您在活动表上定义了最后一行,而此表可能不是calc
表。使用calc.
前面的参考文献。