'定义一个Single类型常量,名称为p,常量存储数据为3.14Const p AsSingle = 3.14
强制声明 : Option Explicit
OptionExplicit
声明变量 : 作用域 变量名 As 数据类型
Dim 变量名 As 数据类型;
Public 变量名 As 数据类型;
Private 变量名 As 数据类型;
Static 变量名 As 数据类型
变量类型声明符
数据类型
类型声明字符
Integer
%
Long
&
Single
!
Double
#
Currency
@
String
$
Dim Str$ '等同于Dim Str As StringDim Str '声明变量可不指定变量类型
变量赋值 : [Let] 变量名称 = 要存储数据
Dim intcount AsInteger'定义integer变量Let intcount = 3000'给变量intcount赋值为3000,默认类型为Variant
或
Dim intcount AsInteger'定义integer变量
intcount = 3000'给变量intcount赋值为3000
作用域
作用域
描述
单个过程
Dim/Static,作用域本过程可用,本地变量
单个模块
Dim/Private,第一个过程前34声明,模块所有过程可用,模块级变量
所有模块
Public,在一个模块的第一个过程前声明,作用域为所有模块,公共变量
Sub 本地变量()
Dim a AsString'定义一个String类型的变量,名称为aStatic b AsInteger'定义一个Integer类型变量,名称为bEndSubDim a AsString'定义模块级变量aPrivate b AsString'定义模块级变量bSub 合并文本()
a = "我在excelhome论坛"'a赋值
b = "学习xcel"'b赋值
MsgBox a & b '用对话框表示a,b合并内容EndSubPublic c AsString'定义全局变量
数组
声明
一元数组 : Public | Dim 数组名称 (a To b) As 数据类型
多维数组 : Public | Dim 数组名称 (row, col,…) As 数据类型
动态数组 : Public | Dim 数组名称 () As 数据类型
'定义一个byte类型的数组arr,可保存100个数据Dim arr (1To100) AsByte'只用一个自然数确定数组大小,默认起始索引号0Dim arr (99) AsByte'定义一个3行5列的数组,类型为Integer的二维数组Dim arr (1To3, 1To5) AsInteger'定义一个三维数组Dim arr (1To3, 1To5, 1To4) AsInteger'Sub a()
Dim a AsInteger'定义Integer变量'用工作表函数COUNTA求A列中的非空单元格个数,将结果保存在变量a中
a = Application.WorksheetFunction.CountA("A:A")
Dim arr() AsString'定义一个String类型的动态数组'ReDim可以重定义数组的大小,包括已经定义的数组,但不可改编版数组类型ReDim