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

标签 vba excel

我试图跳过值为零或为空的记录。截至目前,我有以下代码可以明确检查两者,但我觉得第二次检查是多余的。但我想确认我是对的,以便我可以删除 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/

相关文章:

Excel 2003 XYZ 曲面图,如 XY 折线图

excel - 模拟指向另一个表中相应单元格的超链接

excel - 如何使用 vba 在 Excel 中制作蒙版?

excel - Excel VBA 中的 Application.Windows() 和 Excel.Windows() 有什么区别?

excel - 邮政编码距离计算器

excel - 在VBA中将字符串文本拆分为单独的行

arrays - 将一整行数据放入二维数组

excel - VBA 中的自动筛选

excel - 如何强制另存为而不是保存

excel - VBA:计数出现一对值的次数