应用过滤器时跳过代码并返回无结果VBA

时间:2016-07-04 08:27:58

标签: vba excel-vba filtering excel

我使用以下代码过滤数据作为更大代码的一部分,但在某些情况下,应用过滤器时可能不会返回任何结果。或者如果没有返回结果,我想跳过部分代码。

任何人都可以建议我需要使用的代码。 (我猜这将是一个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:="<>"

非常感谢任何帮助。

由于

1 个答案:

答案 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