我目前有一个宏,该宏在自动过滤器中经历多个条件并删除可见行。 似乎没有问题,直到没有符合条件的行,这给我一个错误。
我尝试使用下面的'if'函数,但是即使自动过滤器下没有结果,它似乎也不会跳到'End If',并且LstRw为1。
使用'if'函数是否做错了,还是使用'LstRw'(Range)的方式?
With S1
LstRw = .Cells(.Rows.Count, "A").End(xlUp).Row
.Range("$A$1:$G" & LstRw).AutoFilter Field:=5, Criteria1:="<" & Format(DatePast, "mm/dd/yyyy")
.Range("$A$1:$G" & LstRw).AutoFilter Field:=3, Criteria1:=Array("ZD", "="), Operator:=xlFilterValues
If LstRw > 1 Then
Set rng = .Range("A2:A" & LstRw).SpecialCells(xlCellTypeVisible)
rng.EntireRow.Delete
End If
.ShowAllData
End With