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

时间:2017-09-18 12:12:04

标签: vba excel-vba excel-2013 autofilter excel

我想使用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

由于某种原因,此代码只过滤了一列,而它应该在2个不同的值上过滤带有数字9和23的列。 正如我想从中学习的那样,在这篇VBA中解释我的思维错误。 Excel版本是2013年,如果这有任何不同。

1 个答案:

答案 0 :(得分:2)

尝试将语法分成2行:

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