使用variables作为自动filter的列(vba)

我想在vba中使用一个variables作为autofilter的列,我想我没有得到正确的sintax,导致它不工作:

With ActiveSheet .AutoFilterMode = False With .Range("A1:" & LastCol + 1 & "1") .AutoFilter .AutoFilter field:=5, Criteria1:="Approved" .AutoFilter field:=6, Criteria1:="Open" .AutoFilter field:=LastCol + 1, Criteria1:="1" End With End With 

如果没有空白列,可以改为使用CurrentRegion (类似于A1的Ctrl + A)

 ActiveSheet.AutoFilterMode = False With Cells.CurrentRegion .AutoFilter 5, "Approved" .AutoFilter 6, "Open" .AutoFilter .Columns.Count, "1" End With