在Excel VBA中使用#
符号的含义是什么?
它的用法如下:
a = b /100#
我不理解#
之后100
的重要性?
答案 0 :(得分:71)
Double的类型声明字符是数字符号(#)。也称为 HASH
其他类型声明字符是:
不明白#here的意义。
这意味着当评估表达式时,前面的数字 类型声明字符被视为特定数据类型而不是 变种。
请参阅此示例,它们基本相同。
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
修改强>
让我详细解释一下。
考虑这两个程序
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
问题:其中一个会失败。你能猜到哪一个吗?
答案:第一个程序Sub Sample1()
将失败。
原因:
在Sample2
中,当您执行b * 100#
时,计算结果将为Double
类型。由于它在Double的限制范围内,因此计算成功,结果将分配给变量a
。
现在在Sample1
中,当你执行b * 100
时,计算结果将是Integer
类型,因为两个操作数都是整数类型。但计算结果超出了整数存储的限制。结果会出错。
希望有所帮助:)