Vba 区别于;暗淡的a“;及;尺寸a、b";

Vba 区别于;暗淡的a“;及;尺寸a、b";,vba,Vba,VBA的奇怪行为: 第3行出现错误94“非法使用Null”: Function test1() Dim a As String a = Null test1 = a End Function 但是。。。这非常有效: Function test1() Dim a, b As String a = Null test1 = a End Function 唯一不同的是第2行中的变量b,它从未使用过!WTF正在进行中?在第二个代码示例中 将a、b分为字符串 作为字符串仅适用

VBA的奇怪行为:

第3行出现错误94“非法使用Null”:

Function test1()
  Dim a As String
  a = Null
  test1 = a
End Function
但是。。。这非常有效:

Function test1()
  Dim a, b As String
  a = Null
  test1 = a
End Function

唯一不同的是第2行中的变量b,它从未使用过!WTF正在进行中?

在第二个代码示例中

将a、b分为字符串
作为字符串
仅适用于最后一个变量b。变量a是变量类型

变量可以接受Null。不能使用字符串变量

在第一个代码示例中,a显式声明为String。这就是为什么它不会接受Null

如果您希望a和b都是字符串类型,则必须显式声明每个字符串的类型

将a设置为字符串,b设置为字符串

谢谢。对于不熟悉VBA的程序员来说,这是非常令人不安的。所以我认为正确的语法应该是:Dim a作为字符串,b作为字符串(如果你不想使用null)是的,我在答案中添加了这个注释。