TOP

VBA-第 6.1 课。数据类型 (Variables)

YouLibreCalc for Excel logo

借助变量,我们可以记录各种类型的信息,例如:数字、文本、日期等。

变量(Variable)是用于存储单个值的命名内存区域。变量的值可以在代码执行期间更改。

当我们声明一个变量时(使用Dim指令),我们分配一个特定的内存区域并为其指定一个名称以便于引用。

以下是变量命名的基本规则:

  • 您必须使用字母作为第一个字符;
  • 名称中不能使用空格、句点 (.)、感叹号 (!) 或符号 @、&、$、#;
  • 名称不能超过255个字符;
  • 不能使用保留关键字 Visual Basic 作为变量名。

  • 考虑第一个例子:

    Sub variables()
       '将变量声明为整数
       Dim my_variable As Integer
       '我们给变量分配一个特定的值
       my_variable = 12
       '我们在消息窗口中显示变量的值
       MsgBox my_variable
    End Sub
    

    第一行代码声明一个变量:

       Dim my_variable As Integer
    
  • Dim:变量定义
  • my_variable:变量名
  • As:变量类型定义
  • Integer:变量类型
  • 一般来说,声明变量不是必需的,代码也可以工作,但强烈建议这样做。这使得与他们合作、找到他们并解决各种问题变得更加容易。原则上,声明变量是一个良好的编程习惯。

    变量的类型指示其内容的性质(文本、数字、日期等)。

    第二个功能区为变量赋值:

       my_variable = 12
    

    最后,第三个功能区在消息窗口中显示变量的值:

       MsgBox my_variable
    

    执行代码的结果如下:

    变量类型

    姓名 类型 描述 象征
    Byte 数字 0 到 255 之间的整数
    Integer 数字 -32'768 到 32'767 之间的整数 %
    Long 数字 - 2'147'483'648 和 2'147'483'647 之间的整数 &
    Currency 数字 -922'337'203'685'477.5808 和 922'337'203'685'477.5807 之间的固定小数 @
    Single 数字 -3.402823E38 和 3.402823E38 之间的浮点十进制数
    Double 数字 -1.79769313486232D308 和 1.79769313486232D308 之间的浮点十进制数 #
    String 文本 文本 $
    Data 日期 日期和时间
    Boolean 布尔值 正确(是)或错误(否)
    Object 目的 Microsoft Object
    Variant 其他 任何数据类型(如果未定义变量则默认类型)

    让我们考虑几个具有不同类型变量的示例:

     '整数
     Dim nbInteger As Integer
     nbInteger = 12345
       
     '十进制数
     Dim nbComma As Single
     nbComma = 123.45
    
     '文本
     Dim varText As String
     varText = "moonexcel.com.ua"
    
     '日期
     Dim varDate As Date
     varDate = "24.08.2012"
    
     '布尔真/假
     Dim varBoolean As Boolean
     varBoolean = True
       
     '对象(工作表作为变量类型)
     Dim varSheet As Worksheet
     Set varSheet = Sheets("Sheet2") 'Set => 为“对象”类型的变量赋值
       
     '使用“对象”类型变量的示例:激活工作表
     varSheet.Activate
    

    表中列出的符号可用于较短的变量声明:

     Dim example As Integer
     Dim example%
    

    这两个条目是相同的。

    您还可以通过在模块开头写入 Option Explicit 命令来强制用户声明变量。在这种情况下,如果输入了未声明的变量,将会出现错误消息。