首页 > 解决方案 > 如何测试范围是否为空白?

问题描述

我正在做一个大学练习,我需要检查一些特定的单元格是否为空白。如果它们是空白的,我需要在其中写一些东西。我尝试制作一个程序,但没有成功,显示错误:13。

这是我的代码:

Option Explicit

Sub Test()

If Range("a1:e1").Value = "" Then
   Range("a1:e1") = "x"
End If

End Sub

感谢您的帮助!

标签: excelvba

解决方案


如果范围包含 1 个单元格,则其.Value属性返回单个标量值。但是,如果一个范围包含多个单元格,则其.Value属性返回一个数组。您可以遍历范围内的所有单元格以查看它们是否都是空的。或者,您可以使用WorksheetFunction.CountBlank来查看范围中的空格数是否与范围中的单元格数匹配。

With Range("a1:e1")
    If WorksheetFunction.CountBlank(.Cells) = .Cells.Count Then
       Range("a1:e1") = "x"
    End If
End With

推荐阅读