使用VBA自动筛选多列,其中包含来自不同工作表的值
我想使用VBA按两列筛选转储工作表,条件来自同一工作簿中不同工作表上的值 使用的代码是:使用VBA自动筛选多列,其中包含来自不同工作表的值,vba,excel,excel-2013,autofilter,Vba,Excel,Excel 2013,Autofilter,我想使用VBA按两列筛选转储工作表,条件来自同一工作簿中不同工作表上的值 使用的代码是: Sub FilterOnCellValue() With Sheets("Dump") .Range("A1:Z10000").AutoFilter Field:=9, Criteria1:=Sheets("ControlPlanning").Range("C1").Value, Field:=23, Criteria1:=Sheets("ControlPlanning").Range("C4")
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
出于某种原因,此代码只过滤一列,而它应该在两个不同的值上过滤编号为9和23的列。
我想从中学习,请解释我在这篇VBA中的思维错误。
Excel版本是2013,如果这有什么不同的话。尝试将语法分为两行:
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
根据的可能重复项不能是字段参数的两倍。@Peh,值中没有条件。@TSion.D.P,无论MSDN说什么,都像一角硬币一样工作。@RobExcel使用单元格值或固定字符串中的条件并不重要。正如您在下面的答案中所看到的,前后的语法是相同的。