Excel数据管理与图表分析 VBA语言基础
VBA语言不仅具有强大的开发功能,而且其性能可靠。另外,对于编写处理实际问题的应用程序,VBA都是最快速、最简便的语言。VBA代码语言程序计算的一般思路是自顶而下,逐步求精。在使用VBA来完成实际工作之前,应首先了解VBA的语言基础。
1.使用标识符
标识符是一种标识变量、常量、过程、函数、类等语言构成单位的符号,利用它可以完成对变量、常量、过程、函数、类等的引用。标识符具有以下几个特点:
● 字母开头,由字母、数字和下划线组成,如A987b_23Abc
● 字符长度小于40(Excel 2003以上版本等,可以用汉字且长度可达254个字符)
● 不能与VB保留字重名,如public、private、dim、goto、next、with、integer和single等
2.运算符
运算符是代表VB某种运算功能的符号。下面介绍运算符的类型及功能:
● 赋值运算符 =
● 数学运算符&(字符连接符)、+(加)、-(减)、Mod(取余)、\(整除)、*(乘)、/(除)、-(负号)、^(指数)
● 逻辑运算符Not(非)、And(与)、Or(或)、Xor(异或)、Eqv(相等)、Imp(隐含)
● 关系运算符:=(相同)、<>(不等)、>(大于)、<(小于)、>=(不小于)、<=(不大于)、Like、Is
在上述的运算符中,相对于逻辑运算符,其他运算符使用都非常简单。下面介绍逻辑运算符的功能,如表9-1所示。
表9-1 逻辑运算符功能表
运算符 | 含义 |
And(逻辑与) | 执行逻辑与运算,即如果表达式1和表达式2都是True,则结果返回True;只要其中一个表达式为False,其结果就是False;如果有表达式为Null,则结果为Null。 |
Or(逻辑或) | 执行逻辑或运算,即如果表达式1或者表达式2为True,或者表达式1和表达式2都为True,则结果为True;只有两个表达式都是False时,其结果才为False;如果有表达式为Null,则结果也是Null。 |
Not(逻辑非) | 对一个表达式进行逻辑非运算,即如果表达式为True,则Not运算符使该表达式变成False;如果表达式为False,则Not运算符使该表达式变成True;如果表达式为Null,则Not运算符的结果仍然是Null。 |
Eqv(相等) | 执行相等运算,即判断两个表达式是否相等,当两个表达式都是True或者都是False时,结果返回True;若一个表达式为True而另一个表达式为False时,结果返回False。 |
Imp(蕴含) | 执行逻辑蕴含运算,即当两个表达式都为True或者两个表达式都为False时,其结果为True;当表达式1为True,表达式2为False时,其结果为False;当表达式1为False,表达式2为True时,其结果为True;当表达式1为False,表达式2为Null时,其结果为True;当表达式1为True,表达式2为Null时,其结果为Null;当表达式1为Null,表达式2为True时,其结果为True;当表达式1vba计算字符串长度为Null,表达式2为False时,其结果为Null;当两个表达式都为Null时,其结果为Null。 |
Xor(异或) | 执行逻辑异或运算,用于判断两个表达式是否不同。若两个表达式都是True或都是False时,其结果就是False;如果只有一个表达式是True,其结果就是True;如果两个表达式中有一个是Null,其结果是Null。 |
3.数据类型
VBA共有12种数据类型,具体功能如表9-2所示。此外,用户还可以根据以下类型通过Type自定义数据类型。其中,用户自定义类型可以包含一个或者多个某种数据类型的数据元素、数组或者一个先前定义的用户自定义类型。
表9-2 数据类型
类型名称 | 含义 |
布尔型(Boolean) | 布尔型只能有True或者False表示,并且在VBA中用2个字节来存储一个布尔型。 |
整数型(Integer) | 整数型即数据常量或者变量为整数,即没有小数部分的数。整数型数值是正数或者负数。 |
长整数型(Long) | 长整数型数据也是整数,但他们的取值范围要比通常的整数更大。一般长整数型的数据存储为32位(4个字节)有符号的数值形式,其范围从-2147483648~2147483647。 |
单精度型(Single) | 单精度型与整数和长整数型不一样,他包含了小数部分,存储为32位(4个字节)。 |
双精度型(Double) | 如果需要存储比单精度更大数据,则可以使用双精度型。Double允许存储64位(8个字节)的数据。 |
货币型(Currency) | 在工作表中处理货币时,则需要将变量或者常量声明为货币型。Currency型数据的存储占用8个字节,是整型的数值形式。 |
日期型(Date) | 通过日期型存储日期和时间值的数据。日期型占用8个字节,在系统内部与双精度型相同。他表示的日期范围从100年1月1日到9999年12月31日,时间从00:00:00到23:59:59。 |
字符串型(String) | 字符串型也是文本型,分为固定长和可变长两种。变长字符串最多可包含大约2Mb字符。定长字符串最多可包含大约64Kb字符。 字符串型的字符码范围是0~255。字符集的前128个字符(0到127)与ASCII码字符集中所定义的相同,而后128个字符为特殊字符。 |
小数型(Decimal) | 小数型数据的存储为12个字节(96位),是带符号的整型。小数型是将给定数值除以一个10的某一个幂数所得,幂数即为变比因子,决定了小数点右面的数字位数,其范围是从0~28。 |
字节型(Byte) | 字节型数据的存储为单精度型、无符号整型、8位(1个字节)的数值,其范围为0~255之间。 |
对象型(Object) | 对象型变量用32位(4个字节)的地址来存储。该地址可以引用应用程序中或者其他程序中的对象。 |
变体 | 变体型是一种特殊的数据类型,除了定长字符串数据及用户自定义类型外,可以包含任何类的数据。 |
4.常量和变量
在VBA语言中,主要包含常量和变量。下面我们来了解一下VBA语言的基本数据类型常量和变量相关内容。
● 常量
常量(Constant)也称常数,是一种恒定的或者不可变化的数值或者数据项。常量是不随时间变化的某些量和信息,也可以表示某一数值的字符或者字符串。
定义常量的形式如下:
Const name [As type] = Value
在定义常量的实际应用中,name表示常量名,As type设置常量的数据类型,Value表示常量的值。
例如,打开工“制作工资表”工作簿,并打开VB管理器窗口,插入一个模块后,在模块代码窗口中,输入VB代码,如图9-2所示。
图9-2 输入代码
在制作工资表模块1代码窗口中,输入以下代码:
Sub 欢迎()
Const YGGL = "欢迎进入,员工工资管理系统。"
'定义常量YGGL
MsgBox YGGL
'返回对话框显示YGGL的值
End Sub
此时,用户可以单击【代码】组中的【宏】按钮,在弹出的对话框中,选择“欢迎”选项,并单击【执行】按钮,即可弹出提示信息框,提示“欢迎进入,员工工资管理系统!”内容,如图9-3所示。
图9-3 欢迎进入员工工资管理系统
● 变量
变量是存储非静态信息的存储容器。当存储静态信息时可以创建常量。它可以供程序多次使用而且便于记忆。
VBA代码中包含变量、运算符和语句。变量在代码中起到互交与连接的作用。变量从创建为合适的对象与数据类型,到初始化,再通过运算符计算或者执行语句修改,来完成整个互交的过程。定义变量的形式如下:
Dim name [As type]
在定义变量的实际应用过程中,name表示变量名,而type表示一种有效变量类型。
其中,VBA允许使用未定义的变量,默认是变体变量。另外,在模块通用说明部分,加入Option Explicit语句可以强迫用户进行变量定义。变量定义语句及变量作用域如下:
Dim 变量 as 类型 '定义为局部变量,如 Dim xyz as integer
Private 变量 as 类型 '定义为私有变量,如 Private xyz as byte
Public 变量 as 类型 '定义为公有变量,如 Public xyz as single
Global 变量 as 类型 '定义为全局变量,如 Globlal xyz as date
Static 变量 as 类型 '定义为静态变量,如 Static xyz as double
一般变量作用域的原则是,哪部分定义就在哪部分起作用,如模块中定义则在该模块中起作用。
例如,打开VB管理器窗口,在该窗口中新建一个模块。然后双击新建的模块代码窗口,在打开的窗口中,输入如图9-4所示的代码。
图9-4 输入代码
在模块2代码窗口中,输入如下的代码:
Sub bl()
Const PI = 3.1415926
'定义常量PI
Dim a, number As Integer
'定义变量a,number
number = 159
'将159赋值予number
a = number * 23 / PI + 323
'计算a的值
MsgBox a
'以对话框的形式输出a
End Sub
提 示 | 在4条语句中,第一条申明了一个常量PI,第二条申明了两个整数类型的变量a和number,第3条是一个赋值语句,通过它将变量number赋予值159,而第4条语句则是将变量number的值乘以23,然后除以常量PI,也就是除以3.1415926,然后将所得的值加上323,并把最终的值赋给变量a。 |
此时,用户可以单击【代码】组中的【宏】按钮,在弹出的对话框中,选择bl选项,并单击【执行】按钮,即可在弹出的对话框中显示计算结果,如图9-5所示
图9-5 计算结果对话框
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论