美文网首页
28. VBA(一) 数据类型

28. VBA(一) 数据类型

作者: 神农架村姑 | 来源:发表于2019-10-15 10:50 被阅读0次

    0. 变量定义

    Dim 变量名 As 数据类型
    

    变量的赋值则直接使用一个等号进行:

    Dim i as Integer
    i = 3
    

    常量定义用const

    1. 字符串 String

    Dim s as String
    s="Hello world!"
    

    2. 数字类型

    4种:

    • 整型 Integer: -32768 ~ 32767
    • 长整型 Long: -2147483648 ~ 2147483647
    • 单精度浮点型 Single: 精度是6,小数点后最多6位
    • 双精度浮点型 Double: 精度是14,小数点后最多14位。超出部分会被去掉,并且会自动四舍五入。


    3. 日期型Date

    还包括时间
    能被Excel识别到的日期,都可以赋值给日期型变量。

    4. 布尔型 Boolean

    当其它数据类型转换为布尔值时,0会转成False,其它值则变成True。当把布尔值转换成其他数据类型时,False会转换为0,True则是-1。


    5. 变体型 Variant

    变体型数据是一种特殊的数据类型,几乎可以用于保存所有其它数据类型的数据。可以简单地理解为:当不知道变量所要表示的数据是什么类型时,就把它定义为Variant(但这种操作应当尽量避免)。

    Sub test()
     Dim v as Variant
     v="Hello world!"
     v=123
     v=123.123
    End Sub
    

    6. 对象型 Object

    对象型是VBA中另一种特殊的数据类型。有点类似于其它高级编程语言中的“对象”,因为它们都有自己的属性与方法,但也仅限于在这两个方面上类似。

    7. 枚举型

    当一个变量只有几种可能的值时,可以定义为枚举类型。枚举就是将变量的值逐一列出,属于该枚举型的变量只能取列举的某一个值。

    枚举型数据定义格式如下:

    Public | Private Enum 变量名
        成员1 [= 常数表达式1]
        成员2 [= 常数表达式2]
        ……
    End Enum
    

    开头的“Public | Private”表示两者取其一,用于定义变量的作用域。[]是可省略的,如果省略的话,则默认以0表示第一个成员,1表示第2个成员,以此类推。

    最典型的就是用一个枚举型变量来表示星期:

    给变量赋值使用set和let

    给普通变量赋值使用LET ,只是LET 可以省略。

    给对象变量赋值使用SET,SET 不能省略。例如ADODB.RecordSet等对象。

    声明变量是必须的吗

    不是必须的。没有声明变量,直接开始用,也没有错误。
    但,不声明变量,是一种不好的习惯,常会带来很多错误。

    不声明变量的弊端包括:

    • 数据类型自动设置为 Variant 类型,效率低。
    • 变量名写错,不会提示错误。
    • 无法使用 VBA 代码自动补全。
    • 数据类型不匹配时,不会提示错误。

    VBA 提供一个选项,可以强制变量声明,即在模块头部写上以下语句:
    Option Explicit
    模块中有以上语句时,如果未声明变量而直接使用变量,VBA 会提示「变量未定义」错误,方便检查代码。


    相关文章

      网友评论

          本文标题:28. VBA(一) 数据类型

          本文链接:https://www.haomeiwen.com/subject/tvpjmctx.html