VBA的奇怪行为:
这会在第3行中出现错误94"非法使用Null":
Function test1()
Dim a As String
a = Null
test1 = a
End Function
Run Code Online (Sandbox Code Playgroud)
但是......这很完美:
Function test1()
Dim a, b As String
a = Null
test1 = a
End Function
Run Code Online (Sandbox Code Playgroud)
唯一的区别是第2行中的变量b,它从未使用过!WTF正在这里?
在第二个代码示例中......
Dim a, b As String
Run Code Online (Sandbox Code Playgroud)
As String仅适用于最后一个变量b.变量a是变体类型.
Variant变量可以接受Null.String变量不能.
在第一个代码示例中,a显式声明为String.这就是它不接受Null的原因.
如果您希望a和b都是String类型,则必须为每个类型显式声明类型...
Dim a As String, b As String
Run Code Online (Sandbox Code Playgroud)