VBA技巧:当单元格区域中包含由公式返回的空单元格时,如何判断?

2022-06-04 10:04:24 浏览数 (1)

标签:VBA

在VBA中,我们经常会遇到需要检查某个单元格区域是否为空的情形。我们可以使用下面程序中的代码来检查单元格区域是否为空。

代码语言:javascript复制
Sub CheckIfBlank()
    If WorksheetFunction.CountA(Range("A1:A100")) Then
        MsgBox "单元格区域不全为空单元格"
    Else
       MsgBox "单元格区域为空"
    End If
End Sub

然而,如果单元格区域偶然包含一个返回为空的公式,则上述代码不会将该单元格区域返回为空,因为它包含公式返回为空的单元格。

要处理这个问题,可以使用下面的命令来检查单元格区域是否为空,即使该单元格区域包含返回空的公式。

代码语言:javascript复制
Sub CheckIfBlandAdd()
    If Range("A1:A100").Rows.Count =WorksheetFunction.CountBlank(Range("A1:A100")) Then
        MsgBox "单元格都为空"
    Else
        MsgBox "单元格不全为空单元格"
    End If
End Sub
还可以使用Find方法来判断,如下面的代码:
Sub CheckIfBlandAdd2()
    If Range("A1:A100").Find("*", , xlValues, , xlByColumns,xlPrevious) Is Nothing Then
        MsgBox "单元格都为空"
    Else
        MsgBox "单元格不全为空单元格"
    End If
End Sub

这将同时适用于任意连续的单元格区域。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

vba

0 人点赞