vba是在相等比较中被视为零的空值

Sir*_*een 3 excel vba excel-vba

我试图跳过记录,这些记录的值为零或为空.截至目前,我有以下代码明确检查两者,但我觉得第二次检查是多余的.但我想确认我是对的,以便我可以删除IF的第二部分

IF (CellInValue(RowInCrnt, ColInCrnt) = 0 Or CellInValue(RowInCrnt, ColInCrnt) = "") Then
Run Code Online (Sandbox Code Playgroud)

GSe*_*erg 5

不,""不等于0并且会在强类型场景中产生类型不匹配,或者如果用作则不会相等Variant.

当单元格为空时,它也与零不同,但它会同样出现,因为在VB中,由于在后台发生隐式转换而Empty = 0给出True.
同样的Empty = "",也会True出于同样的原因.

所以你需要两个检查.