我使用以下代码过滤数据作为更大代码的一部分,但在某些情况下,应用过滤器时可能不会返回任何结果。或者如果没有返回结果,我想跳过部分代码。
任何人都可以建议我需要使用的代码。 (我猜这将是一个IF声明,但不确定)
我目前使用的代码是
Worksheets("DC Allocations Input").Activate
ActiveSheet.Unprotect Password:="Projects123"
ActiveSheet.Range("$B$9:$CT$382").AutoFilter Field:=1, Criteria1:="<>"
ActiveSheet.Range("$B$9:$CT$382").AutoFilter Field:=5, Criteria1:="=OPP", Operator:=xlOr, Criteria2:="=RSK"
ActiveSheet.Range("$B$9:$CT$382").AutoFilter Field:=6, Criteria1:="<>"
非常感谢任何帮助。
由于
答案 0 :(得分:0)
您可以使用带有特殊单元格的if语句,如下所示:
Dim lngCnt As Long
On Error GoTo someplace 'you get an error if there are no visible cells, use it to skip to where you want
lngCnt = Range("$b$10:$CT$382").SpecialCells(xlCellTypeVisible).Count 'Note I'm not including the headings row, this will always be visible
On Error GoTo 0
'Put your code to run if there are results from the filter here
someplace:
'And the code you want to resume at here