变量是用来引用一条数据的名称。
1、变量的命名规则
变量名,必须以字母或汉字开头,不能包含空格、句号、感叹号、@、&、$、和#等,最长不能超过255个字符。
在VBA中有特定意义的VB语句以及其它某些词语不能用作变量名称。例如,词语Name,Len,Empty,Local, Currency或者Exit。
2、声明变量
2-1、声明本地变量
如果在一个过程中,使用 Dim 或 Static 语句声明变量,声明的变量即为本地变量,变量作用域为本过程,也就是说这个变量只有声明的过程中才能使用。
Dim 变量名 As 数据类型 '
Static 变量名 As 数据类型 '将变量定义为静态变量
举例:
Sub Test_01()
Dim a As String '定义一个String类型的本地变量
a="我是一个本地变量! '对变量a赋值
End Sub
Sub Test_02()
Static b As String '定义一个String类型的本地静态变量
b="我是一个本地静态变量! '对变量b赋值
End Sub
2-2、声明模块级变量
如果想让同一个模块中的所有过程都能使用声明的变量,可以在模块的第一个过程之前使用 Dim 或 Private 语句声明变量,这样该模块中的所有过程都可以使用声明的变量。
Private 变量名 As 数据类型 # 将变量定义为私有变量
示例:
2-3、声明公共变量
如果想让任意模块中的任意过程都能使用声明的变量,应在模块的第一个过程之前使用 Public 语句声明变量,这样任意模块中的任意过程都可以使用声明的变量了。
Public 变量名 As 数据类型 # 将变量定义为公有变量
示例:
在模块2中声明公有变量c
在模块1中调用公有变量c
公有变量的声明,只能在模块中进行声明。工作表、窗体等其它对象中,即使使用 Public 关键字声明变量,该变量也只能被声明为模块级变量。
3、变量赋值
把数据存储到已声明的变量中,称为变量赋值。
3-1、数据类型的变量赋值
将文本(字符串)、数值、日期、时间、逻辑值等数据存储到对应类型的变量中。
Let 变量名称 = 存储数据
Let 可以省略。
举例:
3-2、对象类型的变量赋值
用于将工作簿、工作表、单元格等对象存储到相应类型(Object型)的变量中。
Set 变量名称 = 存储的对象名称
注:Set不可以省略。
示例:
上例声明了一个工作表类型的变量sht,然后将活动工作表赋值给变量,左后通过该变量操作其对应的工作表。
联系客服