使用 VBA 自动过滤多列,包含来自不同工作表的值

Rob*_*cel 2 excel vba autofilter excel-2013

我想使用 VBA 按 2 列过滤转储表,条件是从同一工作簿中不同工作表上的值中获取的。

使用的代码是:

Sub FilterOnCellValue()

With Sheets("Dump")
    .Range("A1:Z10000").AutoFilter Field:=9, Criteria1:=Sheets("ControlPlanning").Range("C1").Value, Field:=23, Criteria1:=Sheets("ControlPlanning").Range("C4").Value
End With

End Sub
Run Code Online (Sandbox Code Playgroud)

出于某种原因,此代码仅过滤一列,而它应该过滤 2 个不同值的编号为 9 和 23 的列。因为我想从中学习,在这段 VBA 中解释我的思维错误。Excel 版本是 2013,如果这有什么不同的话。

Sha*_*ado 9

Try to seperate the syntax to 2 lines:

Sub FilterOnCellValue()

With Sheets("Dump").Range("A1:Z10000")
    .AutoFilter Field:=9, Criteria1:=Sheets("ControlPlanning").Range("C1").Value
    .AutoFilter Field:=23, Criteria1:=Sheets("ControlPlanning").Range("C4").Value
End With

End Sub
Run Code Online (Sandbox Code Playgroud)