得到1004错误“没有细胞被发现”,当我发现在VBA过滤后没有细胞

我的问题是,当我过滤logging,我有时得到的结果作为没有细胞,但即时通讯错误为1004“没有发现细胞”我也使用goto错误的方法,但它无法执行。

我用波纹pipe代码

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 

语法是

 On Error GoTo NoBlanks 

要禁用处理程序,请使用

 On Error GoTo 0 

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

您还需要将您的处理程序放在Exit Sub / Exit Function Exit Sub / Exit Function后面,否则每次都会执行它。 例如

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

上一个问题的几个其他选项不需要筛选和计算可见单元格:

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

所有这些应该与VBA中的WorksheetFunction一起使用