Excel VBA之第五课
前面四节我们初步了解了VBA的面纱,今天我们算是正式进入代码的讲解部分了。首先看这一段示例代码:
Sub 演示()
Dim i As Integer
Const a As Integer = 5
i = a * 3.14
MsgBox "i的值是:" & i
End Sub
运行一下得到下图:
今天要讲的内容是变量与常量。
1、常量:
变量用于保存在程序运行过程中,其值始终保持不变的量成为常量。在VBA中常量可以分为两种:普通常量和符号常量。普通常量为数据本身,符号常量则是用一个标识符来表示的数据。
(1):普通常量可以分为数值常量(3.1515、-1.36、5等)、字符串常量(”Excel VBA”等)、逻辑常量(true、false)、日期常量(#2016-1-14#等)等。上面示例中的数字“5”就是一个普通常量。
(2):符号常量:是指用一个符号名来代替常量,其中符号名必须是以字母开头,由字母、数字、下划线组成的长度不大于40的字符串,其格式如下:
Const 符号常量名【As类型】 =表达式
上面示例中的a就是一个符号常量。
PS:VBA也有自己的内置常量,这个大家以后会慢慢遇到。VBA提供的内置常量都以混合大小写格式显示,大部分以两个字符为前缀来指出定义这些常数的对象库。例如,由VBA对象库而来的常数都会以“vb”为开端,而由Excel对象库而来的常数都会以“xl”为开端。例如:vbOK、xlUP等。
2、变量
所谓变量,是指在程序运行期间其值可以变化的量。在VBA应用程序执行期间,用变量临时存储数据。每个变量都用变量的标识符来区分,而变量的标识符称为变量名。
(1)、变量的命名:
I、第一个字符必须使用英文字母。
II、不能在名称中使用空格、句点(.)、惊叹号(!)、@、&、#等字符。
III、名称的长度不能超过255个字符。
IV、变量名不能和关键字同名,例如End、And、Sub等。
(2)、变量的声明:一般使用Dim、Static、Public来声明。
I、dim 变量名【AS 类型】
其中,【AS 类型】为可选项,当该部分省略时,所建立的变量类型默认为变体类型(Variant),定义方式一般如下:
Dim a
Dim a As Integer
Dim a,b
Dim a,b As Integer
II、static关键字用来定义静态变量,还可以定义静态数组。用Static语句定义的变量,在该函数或过程执行结束后,它的值还能保存下来,当下一次执行时,该值不再被初始化。这与Dim语句定义的变量不同,由Dim语句定义的变量在过程或函数执行结束后,变量的值自动被清除,Static语句定义变量的格式同Dim,例如:
Sub 测试()
Dim a As Integer
Static b As integer
a=a+1
b=b+1
End Sub
III、Public关键字定义语句只能在全局模块中使用,它定义的变量是全局变量,作用域为整个应用程序。对同一应用程序的所有函数和模块来说,该变量的值都是相同的。直到Excel工作簿关闭后,它的值才会被释放。一般放在过程的最顶端:
Public a As Single
(3)、用类型说明符直接声明变量
示例:
a$
b@
(4)、隐式声明变量
VBA允许对使用的变量不进行声明而直接使用,称为隐式声明。如果没有指定变量的类型系统默认该变量的数据类型为Variant类型。这种方式除了增加程序运行的负担外,也极易出现数据运算问题,造成程序出错。所以建议大家在以后的学习过程中,尽量使用显示声明变量,这对以后程序的运行时非常有好处的。
在初次打开代码窗口时,模块是这个样子的:
此时可以直接使用没有事先进行声明的变量,当我们在“工具-选项”中勾选如下选择框后:
模块会变成这个样子:
如果你再直接使用没有事先进行声明的变量,则会报错噢!
至此,大致对变量和常量做了一个简单的介绍,就算起了个抛砖引玉的作用吧,由于时间有限和纯手敲字,有很多地方我并没有提到,详细知识希望大家课下钻研,然后自己实际操作一下,加深一下理解。由于水平有限,在讲课之中若有不妥当的地方希望大家及时批评指正,共同进步啦~以后会继续不定期更新VBA基础知识,大家加油吧,新建了一个群:438827032 欢迎大家探讨交流Excel VBA问题~
前面四节我们初步了解了VBA的面纱,今天我们算是正式进入代码的讲解部分了。首先看这一段示例代码:
Sub 演示()
Dim i As Integer
Const a As Integer = 5
i = a * 3.14
MsgBox "i的值是:" & i
End Sub
运行一下得到下图:
今天要讲的内容是变量与常量。
1、常量:
变量用于保存在程序运行过程中,其值始终保持不变的量成为常量。在VBA中常量可以分为两种:普通常量和符号常量。普通常量为数据本身,符号常量则是用一个标识符来表示的数据。
(1):普通常量可以分为数值常量(3.1515、-1.36、5等)、字符串常量(”Excel VBA”等)、逻辑常量(true、false)、日期常量(#2016-1-14#等)等。上面示例中的数字“5”就是一个普通常量。
(2):符号常量:是指用一个符号名来代替常量,其中符号名必须是以字母开头,由字母、数字、下划线组成的长度不大于40的字符串,其格式如下:
Const 符号常量名【As类型】 =表达式
上面示例中的a就是一个符号常量。
PS:VBA也有自己的内置常量,这个大家以后会慢慢遇到。VBA提供的内置常量都以混合大小写格式显示,大部分以两个字符为前缀来指出定义这些常数的对象库。例如,由VBA对象库而来的常数都会以“vb”为开端,而由Excel对象库而来的常数都会以“xl”为开端。例如:vbOK、xlUP等。
2、变量
所谓变量,是指在程序运行期间其值可以变化的量。在VBA应用程序执行期间,用变量临时存储数据。每个变量都用变量的标识符来区分,而变量的标识符称为变量名。
(1)、变量的命名:
I、第一个字符必须使用英文字母。
II、不能在名称中使用空格、句点(.)、惊叹号(!)、@、&、#等字符。
III、名称的长度不能超过255个字符。
IV、变量名不能和关键字同名,例如End、And、Sub等。
(2)、变量的声明:一般使用Dim、Static、Public来声明。
I、dim 变量名【AS 类型】
其中,【AS 类型】为可选项,当该部分省略时,所建立的变量类型默认为变体类型(Variant),定义方式一般如下:
Dim a
Dim a As Integer
Dim a,b
Dim a,b As Integer
II、static关键字用来定义静态变量,还可以定义静态数组。用Static语句定义的变量,在该函数或过程执行结束后,它的值还能保存下来,当下一次执行时,该值不再被初始化。这与Dim语句定义的变量不同,由Dim语句定义的变量在过程或函数执行结束后,变量的值自动被清除,Static语句定义变量的格式同Dim,例如:
Sub 测试()
Dim a As Integer
Static b As integer
a=a+1
b=b+1
End Sub
III、Public关键字定义语句只能在全局模块中使用,它定义的变量是全局变量,作用域为整个应用程序。对同一应用程序的所有函数和模块来说,该变量的值都是相同的。直到Excel工作簿关闭后,它的值才会被释放。一般放在过程的最顶端:
Public a As Single
(3)、用类型说明符直接声明变量
示例:
a$
b@
(4)、隐式声明变量
VBA允许对使用的变量不进行声明而直接使用,称为隐式声明。如果没有指定变量的类型系统默认该变量的数据类型为Variant类型。这种方式除了增加程序运行的负担外,也极易出现数据运算问题,造成程序出错。所以建议大家在以后的学习过程中,尽量使用显示声明变量,这对以后程序的运行时非常有好处的。
在初次打开代码窗口时,模块是这个样子的:
此时可以直接使用没有事先进行声明的变量,当我们在“工具-选项”中勾选如下选择框后:
模块会变成这个样子:
如果你再直接使用没有事先进行声明的变量,则会报错噢!
至此,大致对变量和常量做了一个简单的介绍,就算起了个抛砖引玉的作用吧,由于时间有限和纯手敲字,有很多地方我并没有提到,详细知识希望大家课下钻研,然后自己实际操作一下,加深一下理解。由于水平有限,在讲课之中若有不妥当的地方希望大家及时批评指正,共同进步啦~以后会继续不定期更新VBA基础知识,大家加油吧,新建了一个群:438827032 欢迎大家探讨交流Excel VBA问题~