我的问题是,当我过滤记录时,我得到的记录有时会导致无细胞但是我得到的错误是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
答案 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