通过VBA,我如何检查某个单元格是否为空,并且具有特定信息?
例如:
如果A:A =“产品特殊”而B:B为空则
C1 =“产品特殊”
此外,如何在For Each
上使用Range
循环,如何在其他单元格中返回值?
答案 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第一列中的数据将是排序。 在第二步中,将删除具有相同数据的所有行。