我想使用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年,如果这有任何不同。
答案 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