设置布尔值为空/无/空等在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 。 如果你确实需要一个表示TrueFalse或者Neither ,一个选项就是声明自己的Enum并使用它:

 Private Enum Truthiness IsTrue IsFalse IsNeither End Enum 

更好的办法是重构你的代码,确保你的Booleanvariables实际上代表了二进制条件。