避免在计算空列时出现“错误1004:未找到单元格”。

3

我正在编写一个宏,其中包括计算搜索结果的中间步骤。

如果搜索没有结果,该列将保持空白,这会导致计数出现1004错误。

我的代码如下:

Sub Test()
Dim z As Integer
z=Worksheets("Pumps").Range("N:N").Cells.SpecialCells(xlCellTypeConstants).Count
Range("O1").Value = z
End Sub

有人知道如何控制这个吗?

提前谢谢。


2
你可以使用:On Error Resume NextOn Error GoTo 0 - Fadi
3个回答

2

使用错误处理与SpecialCells

此外,我已经删除了不必要的计数。

Dim rng1 As Range
On Error Resume Next
Set rng1 = Worksheets("Pumps").Range("N:N").Cells.SpecialCells(xlCellTypeConstants)
On Error GoTo 0
If Not rng1 Is Nothing Then Range("O1").Value = rng1.Cells.Count

0
你可以这样解决它。
Sub Test()

Dim z As Integer

If Application.WorksheetFunction.Count(Range("N:N")) >= "1" Then
    z = Worksheets("Pumps").Range("N:N").Cells.SpecialCells(xlCellTypeConstants).Count
    Range("O1").Value = z
End If

End Sub

0
< p > 由 SpecialCells() 返回的范围可能为空,因此请先进行测试:

Sub Test()
    Dim results As Range

    Set results = Worksheets("Pumps").Range("N:N").Cells.SpecialCells(xlCellTypeConstants)
    If results Is Nothing Then
        Range("O1") = 0
    Else
        Range("O1") = results.Count
    End If
End Sub

顺便说一句,也许你应该限定Range("O1"),以便将返回值放在你想要的工作表上,就像这样:Worksheets("Pumps").Range("O1")


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接