sri*_*san 44 excel vba excel-vba
#在Excel VBA中使用符号的含义是什么?
它是这样使用的:
a = b /100#
Run Code Online (Sandbox Code Playgroud)
我不明白的意义#后100?
Sid*_*out 76
Double的类型声明字符是数字符号(#).也称为HASH
其他类型声明字符是:
不明白#在这里的意义.
这意味着在计算表达式时,类型声明字符前面的数字被视为特定数据类型而不是Variant.
看这个例子,基本相同.
Sub Sample1()
Dim a#
a = 1.2
Debug.Print a
End Sub
Sub Sample2()
Dim a As Double
a = 1.2
Debug.Print a
End Sub
Run Code Online (Sandbox Code Playgroud)
编辑
让我详细解释一下.
考虑这两个程序
Sub Sample1()
Dim a As Double, b As Integer
b = 32767
a = b * 100
Debug.Print a
End Sub
Sub Sample2()
Dim a As Double, b As Integer
b = 32767
a = b * 100#
Debug.Print a
End Sub
Run Code Online (Sandbox Code Playgroud)
问题:其中一个会失败.你能猜出哪一个?
Ans:第一个程序Sub Sample1()将失败.
原因:
在Sample2,当你这样做时b * 100#,计算结果将是类型Double.由于它在Double的限制范围内,因此计算成功并将结果分配给变量a.
现在Sample1,当你这样做时b * 100,计算结果将是类型Integer,因为两个操作数都是整数类型.但计算结果超出了整数存储的限制.结果它会出错.
希望能帮助到你 :)