Excel:如何使用VBA检查单元格是否为空?

时间:2012-11-13 12:19:57

标签: excel vba excel-vba

  

可能重复:
  Using VBA to check if below cell is empty

通过VBA,我如何检查某个单元格是否为空,并且具有特定信息?

例如:

  

如果A:A =“产品特殊”而B:B为空则

     

C1 =“产品特殊”

Illustration of example

此外,如何在For Each上使用Range循环,如何在其他单元格中返回值?

3 个答案:

答案 0 :(得分:54)

您可以使用IsEmpty()这样的功能:

...
Set rRng = Sheet1.Range("A10")
If IsEmpty(rRng.Value) Then ...

你也可以使用以下内容:

If ActiveCell.Value = vbNullString Then ...

我不是VBA程序员所以你不介意吗?!

希望有所帮助

答案 1 :(得分:20)

IsEmpty()将是检查的最快捷方式。

IsNull()似乎是一个类似的解决方案,但请记住Null必须分配给单元格;它本身并不是在单元格中创建的。

此外,您可以通过以下方式检查单元格:

count()

counta()

Len(range("BCell").Value) = 0

答案 2 :(得分:10)

This网站使用方法isEmpty()

编辑:在网址无效之前从网站抓取内容。

Worksheets("Sheet1").Range("A1").Sort _
    key1:=Worksheets("Sheet1").Range("A1")
Set currentCell = Worksheets("Sheet1").Range("A1")
Do While Not IsEmpty(currentCell)
    Set nextCell = currentCell.Offset(1, 0)
    If nextCell.Value = currentCell.Value Then
        currentCell.EntireRow.Delete
    End If
    Set currentCell = nextCell
Loop

在第一步中,Sheet1第一列中的数据将是排序。 在第二步中,将删除具有相同数据的所有行。