VBA学习之基础语法(一)

常量与变量

变量,似一个容器,可以更换里面的东西;常量,是什么就是什么,换不了

变量的使用

  • 声明变量,即指定变量的名称和数据类型

    Dim variableName As TypeOfData
    '变量名还以驼峰命名法来吧
    Dim Str As String
    '声明变长字符串类型
    Dim Str As String*10
    '声明定长字符串类型
    Dim str As String, nu As Integer
    '声明多个变量
    Dim Str 
    '未指定变量类型,则默认为Variant类型
    
    Public variableName As TypeOfData
    '公共变量,
    Private variableName As TypeOfData
    '私有变量
    Static variableName As TypeOfData
    '静态变量
    

    不同的声明语句只会影响其变量的作用域

  • 变量的赋值

    '文本、数值、日期等数据型变量赋值
    Let variableName = Data	'Let可省略
    '为对象变量赋值(Object型,如单元格)
    Set variableName = Data	'Set不可省略
    
  • 强制声明所有变量

    个人理解,VBA应该为强类型语言,所有的变量都必须先定义后使用

    Option Explicit
    '在模块的第一句前输入,若执行的程序存在未声明变量,则无法执行
    
  • 变量的作用域

    ​ 变量的作用域决定变量可以在哪个模块或过程中使用。VBA中变量有三种不同级别的作用域

    • 单个过程

      在一过程中使用Dim或Static语句声明的变量,其作用域为本过程,即只有本过程可以使用。此类变量称为本地变量

    • 单个模块

      在模块的第一个过程之前使用Dim或Private声明的变量,作用域为该语句所在模块的所有过程,即该模块内的所有过程都可使用。此类称为模块级变量

    • 所有模块

      在模块的第一个过程前(指的是模块对象,并非工作表、窗体等对象)使用Public声明的变量,作用域为所有模块,即所有模块内的过程都可以使用。此类称为公共变量

  • 常量的使用

    声明常量不但要指定常量的名称及数据类型,还要在声明的同时给常量赋值,并且赋值后的常量不能再重新赋值(和其他语言不太一样...)

    Const variableName As typeOfData = Data
    

    其作用域同变量

数据类型

数据类型 存储空间(字节) 适用范围
Byte 1 0~255
Boolean 2 True或False
Integer 2 -2768~32767
Long 4
Single 4
Double 8 ...
Currency(货币型) 8 ...
Decimal(小数型) 14 ...
Date 8 ...
数据类型 存储空间(字节) 适用范围
String 字符串长度 1-65400字符
Object 4 对象变量,引用对象
Variant(变体型) ... ...
原文地址:https://www.cnblogs.com/NoTrace/p/13588712.html