我使用了以下的VBA代码:
Do While .Cell(i,1) <> Empty
' doing things
i = i+1
Loop
在 Excel 中迭代遍历(带有 Double/Integer 值的)列。然后,我发现一个情况,即当单元格的值为 0 时,测试评估结果始终为 False。我不知道这种情况与正常情况的区别在哪里。
如果我将测试改为:
Do While Not IsEmpty(.Cell(i,1))
..
Loop
它正常工作。所以我的问题是:IsEmpty()和=Empty如何评估的区别是什么?在哪些情况下,对于具有值0的单元格,=Empty会评估为True?
Range("A2")=0
?Range("A2")=Empty
True
?IsEmpty(range("A2"))
False
我想看到一个情况,其中单元格值为0时= Empty
返回False! - Jean-François Corbett