时间:2010-07-25 12:04:24

标签: vba object variables is-empty

4 个答案:

答案 0 :(得分:80)

答案 1 :(得分:18)

要检查Variant是否为空,您需要执行以下操作:

Isnull(myvar) = True

Not Isnull(myvar)

答案 2 :(得分:11)

对于一个数字,它很棘手,因为如果一个数字单元格是empty,VBA会为它分配一个默认值0,所以你的VBA代码很难区分输入的零和一个空白数字单元格。

以下检查对我来说是否有一个实际的0进入单元格:

If CStr(rng.value) = "0" then
    'your code here'
End If

答案 3 :(得分:0)

我也遇到了类似的问题,该整数可以在Access VBA中合法分配为0。以上解决方案均不适用于我。

起初,我只是使用布尔var和IF语句:

Dim i as integer, bol as boolean
   If bol = false then
      i = ValueIWantToAssign
      bol = True
   End If

在我的情况下,我的整数变量赋值位于for循环和另一个IF语句中,所以我最终使用了“ Exit For”,因为它更加简洁。

类似:

Dim i as integer
ForLoopStart
   If ConditionIsMet Then
      i = ValueIWantToAssign
   Exit For
   End If
ForLoopEnd