在VBA宏中使用符号#(哈希)

时间:2012-06-05 02:39:17

标签: vba excel-vba excel

在Excel VBA中使用#符号的含义是什么?

它的用法如下:

 a = b /100#

我不理解#之后100的重要性?

1 个答案:

答案 0 :(得分:71)

Double的类型声明字符是数字符号(#)。也称为 HASH

其他类型声明字符是:

  1. 整数%
  2. Long&
  3. 货币@
  4. 单身!
  5. Double#
  6. String $
  7.   

    不明白#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类型,因为两个操作数都是整数类型。但计算结果超出了整数存储的限制。结果会出错。

    希望有所帮助:)