我一直在尝试过滤O列中的5个值。这些值可能存在也可能不存在。 我一直在尝试的是以下两个例子:
ActiveSheet.ListObjects("Sheet1").Range.AutoFilter Field:=15, Criteria1:= _
Array("CONS", "MISC", "PFG", "PRT", "TOTE"), _
Operator:=xlFilterValues
ActiveSheet.Range("$O$8:$O").SpecialCells(xlCellTypeVisible).EntireRow.DELETE
Range("O8").AutoFilter Field:=15
和
ActiveSheet.Range("$O$8:$O").AutoFilter Field:=15, Criteria1:="=CONS", _
Operator:=xlOr, Criteria2:="=MISC", _
Operator:=xlOr, Criteria3:="=PFG", _
Operator:=xlOr, Criteria4:="=PRT", _
Operator:=xlOr, Criteria5:="=TOTE"
ActiveSheet.Range("$O$8:$O").SpecialCells(xlCellTypeVisible).EntireRow.DELETE
Range("O8").AutoFilter Field:=15
第一个代码块给出了错误:下标超出范围。 第二个给出错误:应用程序定义的错误或对象定义的错误。
有谁看到这些有什么问题?
谢谢。
答案 0 :(得分:0)
尝试
ActiveSheet.Range("$O$8:$O$10000").AutoFilter Field:=1, Criteria1:=Array("MISC" _
, "MISC", "PFG", "PRT", "TOTE", "="), Operator:=xlFilterValues
ActiveSheet.Range("$O$8:$O10000").SpecialCells(xlCellTypeVisible).EntireRow.Delete
Range("O8").AutoFilter Field:=1