设置布尔值为空/无/空等在VBA-Excel中有没有办法做到这一点?
我无法find一种方法来设置我的VAR(布尔)是空的/ Null或其他平台然后真/假有什么办法告诉VB,这个单位的内存将不会被使用?
否。不是Variant
内部types不能设置为Null
。 如果您需要一个可为空的值,则需要将其声明为Variant
:
Sub Foo() Dim x As Variant x = Null Debug.Print x End Sub
这种方法的第一个缺点是你需要在代码中的任何地方testingNull
的variables,然后再把它分配给任何需要Boolean
。 否则,你会得到一个“空无效的运行时错误。
第二个缺点是你现在使用的是弱types的variables,这种types的variables无法将其声明为Boolean
。 如果你确实需要一个表示True
, False
或者Neither
,一个选项就是声明自己的Enum并使用它:
Private Enum Truthiness IsTrue IsFalse IsNeither End Enum
更好的办法是重构你的代码,确保你的Boolean
variables实际上代表了二进制条件。