gpt4 book ai didi

vba - "dim a"和 "dim a,b"之间的区别

转载 作者:行者123 更新时间:2023-12-04 20:55:54 26 4
gpt4 key购买 nike

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 是怎么回事?

最佳答案

在第二个代码示例中...

Dim a, b As String

As String 仅适用于最后一个变量 b。变量 a 是 Variant 类型。

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

在第一个代码示例中,a 被显式声明为字符串。这就是它不接受 Null 的原因。

如果你想让ab都是String类型,你必须显式声明每个...的类型

Dim a As String, b As String

关于vba - "dim a"和 "dim a,b"之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31659747/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com