定义
计算机的一块存储单元,用来保存数据
命名
-
变量名由英文字母、汉字、数字及下划线组成
-
变量名称必须由英文字母或汉字开头,最后一个符号可以是数据类型声明符,比如Dim a%
-
变量名称长度为1~255,有效字符为40个
-
VB中关键字不能作为变量名称,比如Print、Dim、For等
-
不能在变量名称中出现标点符号、空格或者嵌入!、@、#、¥等,比如可以用a%表示变量名称,但不可以用a%a表示变量名称
-
变量名在其变量有效的范围内必须是唯一的,否则会出现变量声明重复错误
-
变量名不区分大小写
-
变量名称最好能对变量的含义具有提示作用
-
变量命名时,可以参考使用驼峰命名法
声明
变量的声明包括:显式声明变量和隐式声明变量、DefType语句。
显式声明变量
Dim|Private|Static|Public 变量名 AS 数据类型
Dim name as String
DIm number as Integer
'使用数据类型的类型符号来代替AS子句
'注意变量名和类型符号之间不能有空格
Dim name$
Dim number%
'一条Dim语句可以声明多个变量,各变量之间用逗号隔开'
Dim name as String,number as Integer,Weight as Single
'可以声明指定字符串长度的字符型变量'
如果name超过20个字符,则自动截取前20个,如果name少于20个字符,则用空格填充变量'
Dim name AS String*20
隐式声明变量
在声明变量时,可以不指定变量的数据类型,此时变量的数据类型都是变体型(Variant)
Dim a
a = 1234
注意事项
当使用隐式声明变量时,如果对其赋值的数据类型和调用的数据类型不一致,就会出现报错,比如
Private Sub Form_Click()
Dim name
name = 2
Msgbox name
End Sub
'由于Msgbox函数方法的形参数据类型为String,但其调用的实参位Integer,所以会出现报错'
针对上述错误,可以手动在声明段添加Option Explicit,或者在工具/选项命令中,选择编辑器,勾选要求变量声明
DefType语句
可以在标准模块或窗体模块的声明部分定义变量
DefType 字母范围
其中Def是保留字,Type是数据类型标志,可以是:Int、Lng、Sng、Dbl、Cur、Str、Byte、Bool、Date、Obj、Var。字母范围是用’字母—字母’的形式给出
'凡是变量名以字母A-G开头的变量均定义为长整型
DefIntA-G
注意事项
- DefTYpe语句只对它所在模块起作用
- 当使用DefType语句和使用类型说明符方式定义变量发生冲突时,类型说明符定义变量优先级大于DefType语句