Variant不可以Null.不能设置的内在类型.如果需要可以为空的值,则需要将其声明为Variant:
Sub Foo()
Dim x As Variant
x = Null
Debug.Print x
End Sub
Run Code Online (Sandbox Code Playgroud)
这种方法的第一个缺点是你需要Null在代码中的任何地方测试变量,然后再尝试将变量分配给任何需要的任何过程Boolean.否则,您将获得"无效使用Null"运行时错误.
第二个缺点是你现在正在使用一个弱类型变量,这种变量无法将其声明为一个变量Boolean.如果你真的需要一个代表的类型True,False或者Neither,一个选项是声明你自己的枚举并使用它:
Private Enum Truthiness
IsTrue
IsFalse
IsNeither
End Enum
Run Code Online (Sandbox Code Playgroud)
更好的方法是以确保Boolean变量实际表示二进制条件的方式重构代码.
| 归档时间: |
|
| 查看次数: |
3333 次 |
| 最近记录: |