如果要在多列中使用Autofilter VBA,必须使用数组。
以下是使用数组的示例代码:
Sub MultipleColAutofilter() Dim arrData() As Variant Dim LastRow As Long Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")
'Store data in the array With ws LastRow = .Cells(.Rows.Count, 1).End(xlUp).row arrData = .Range("A1:F" & LastRow).Value End With
'Filter array based on criteria in column B and C With ws.Range("A1:F" & LastRow) .AutoFilter .AutoFilter Field:=2, Criteria1:="Sales" .AutoFilter Field:=3, Criteria1:="East" End With
End Sub
注意,将您的数据存储在数组中,然后使用Array变量来指定Autofilter,并将Autofilter字段索引用于数组索引。
此代码将在包含六个列(从A到F)的工作表中过滤第二列和第三列,与Sales和East相匹配。
希望这可以帮助您解决Autofilter VBA在多列中不起作用的问题。