79

通过 VBA,我如何检查一个单元格是否为另一个单元格中的特定信息?

例如:

如果 A:A = "product special" And B:B 为空 那么

C1 =“产品特价”

示例说明

此外,我如何使用For Each循环Range以及如何返回另一个单元格中的值?

4

3 回答 3

81

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

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

您还可以使用以下内容:

If ActiveCell.Value = vbNullString Then ...
于 2012-11-13T12:40:49.763 回答
23

IsEmpty()将是检查这一点的最快方法。

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

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

count()

counta()

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

于 2012-11-13T12:52:20.407 回答
11

本站采用的方法isEmpty()

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

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 中第一列中的数据进行排序。在第二步中,将删除所有具有相同数据的行。

于 2012-11-13T12:23:29.357 回答