我试图跳过值为零或为空的记录。截至目前,我有以下代码可以明确检查两者,但我觉得第二次检查是多余的。但我想确认我是对的,以便我可以删除 IF 的第二部分
IF (CellInValue(RowInCrnt, ColInCrnt) = 0 Or CellInValue(RowInCrnt, ColInCrnt) = "") Then
最佳答案
不,""
不等于 0
,并且会在强类型场景中产生类型不匹配,或者如果用作 变体
。
当单元格为空时,它也与零不同,但结果是相同的,因为在 VB 中,Empty = 0
给出 True
因为隐式转换发生在后台。
对于 Empty = ""
也是如此,出于同样的原因也会给出 True
。
所以你需要两项检查。
关于vba 是在相等比较中被视为零的空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13173575/