如何确定范围(表列)是否不完全为空?

时间:2018-08-02 13:20:36

标签: excel vba validation

我需要数据验证以检查所选范围(表列)是否完全为空。

如果MsgBox完全为空,则为“错误”。

如果同时不是所选范围内的所有单元格都包含值,则程序应移至下一个过程。

Sub test()
    If WorksheetFunction.CountA(Range("E3:F15")) = 0 Then
        MsgBox "Range is empty!"
    Else
        MsgBox "Range is not empty!"
    End If
End Sub

我发现了上面的示例,但是它仅检查范围是完全为空还是范围不是完全为空。

3 个答案:

答案 0 :(得分:2)

尝试

Sub Test()
If WorksheetFunction.CountBlank(Range("E3:F15")) = 0 Then
    MsgBox "Range is not empty!"
Else
    MsgBox "Range has some empty cells!"
End If
End Sub

答案 1 :(得分:2)

  

我需要进行数据验证以检查所选范围(表列)是否完全为空

这是您要尝试的吗?

Sub test()
    Dim rng As Range

    Set rng = Sheet1.Range("E3:F15") '<~~ Change Sheet1 to relevant sheet

    If WorksheetFunction.CountBlank(rng) = rng.Cells.Count Then
        MsgBox "Range is completely empty!"
    Else
        MsgBox "Range is not completely empty!"
    End If
End Sub

答案 2 :(得分:0)

对不起,我迟到了。

我可以使用以下代码澄清问题

Sub EmptyRange()
Dim i As Range
Dim bEmpty As Boolean
Empty = False
For Each iIn Range("G4:H14")
    If IsEmpty(i) = False Then
       Empty = True
        Exit For
    End If
Next i

If Empty = False Then
    MsgBox ""
Else
    MsgBox ""
End If
End Sub

希望这也会对其他人有所帮助。

感谢支持人员。 谢谢