得到1004错误"没有找到细胞"当我在VBA中过滤后没有找到细胞时

时间:2016-10-24 11:22:49

标签: excel vba excel-vba

我的问题是,当我过滤记录时,我得到的记录有时会导致无细胞但是我得到的错误是1004"没有找到细胞"我也使用了goto错误方法,但它无法执行。

我使用了以下代码

  If Error Then GoTo NoBlanks
           vfast_narecord = xlwkbOutput.Sheets("Sheet1").Range("F2:F" & lastRow).SpecialCells(xlCellTypeVisible).Cells.Count
On Error Resume Next
NoBlanks:
MsgBox "No cells were found!"
    Resume Next

2 个答案:

答案 0 :(得分:1)

语法是

On Error GoTo NoBlanks

要禁用处理程序,请使用

On Error GoTo 0

因为使用On Error Resume Next会导致它忽略所有后续错误。

您还需要将处理程序置于Exit Sub / Exit Function之后,否则每次都会执行。例如

    '...
    Exit Sub
NoBlanks:
    '...
    Resume Next
End Sub

答案 1 :(得分:0)

上一个问题的其他选项很少,不需要过滤和计算可见细胞:

  • =AGGREGATE(3,3,A:A) Excel函数用于计算A列中非空,错误,隐藏或SUBTOTAL / AGGREGATE函数
  • 的单元格数
  • =Count(A:A)仅计算包含数字的单元格(包括隐藏单元格但忽略错误)
  • =CountIf(A:A,#N/A)计算包含#N/A错误的单元格

所有这些都应该可以在VBA中使用WorksheetFunction