- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ch2 VBA编程基础
第二章 VBA编程基础
本章包括
理解VBA语言元素,其中包括变量、数据类型、常量和数组
使用VBA内置的函数
处理对象和集合
控制过程的执行
本章讨论VBA中某些关键的语言元素和编程概念。如果以前使用过其他的编程语言,那么可能比较熟悉这些内容。然而,VBA有它独特的地方,因此即使经验丰富的编程人员也会发现一些新的内容。
2.1 VBA的语言元素概览
首先从一个简单的VBA Sub过程开始。在下面的代码中,过程存储在一个VBA模块中,此过程计算了前100个整数的总和,当代码结束执行后,显示出一条表示结果的消息。
Sub SumDemo()
一个演示VBA的例子
Dim iTotal As Integer, i As Integer
iTotal = 0
For i = 1 To 100
iTotal = iTotal + i
Next i
MsgBox (iTotal)
End Sub
这个过程使用了一些常见的VBA语言元素,其中包括一个注释(注释行前面用单引号标识)、两个变量(iTotal和i)、两条赋值语句(iTotal =0 和 iTotal = iTotal + i)、一个循环结构(For – Next)和一个VBA语句(MsgBox)。所有这些都会在以后的小节中阐述。
VBA的语句与C语言的语句有一些不一样的地方。默认情况下,一句代码为一行,不用“;”标识语句的结束。当然,也可以将多个语句写在一行,其中用“:”分隔,也可以将一个语句(如果这个语句太长,不便于阅读的话)拆成几行,在分拆时,用“空格+_”来分拆它们。
2.2 注释
注释就是以单引号开头的描述性文本,VBA将完全忽略这些文本。养成使用注释是一个好的编程习惯,因为这将极大地提高程序的可读性。
为了更好地使用注释,这里给出一些建议:
使用注释简要描述编写的每个过程的目的
使用注释描述对过程所做的修改
使用注释指出正在以一种与众不同的或者不标准的方式使用函数或者构造
使用注释描述变量的目的,以便本人和其他人都能够明白名称所隐藏的内涵
使用注释描述为了克服Excel的故障而开发出的解决办法
与其编写代码后再添加注释,倒不如编写代码的同时写注释
提示:如果要测试一个不含某个特殊语句或者一组语句的过程,不用删除这些语句,只要将这些语句转换为注释即可。方法是,在语句开始的地方插入一单引号,之后当执行这个过程的时候,VBA将忽略这些语句。如果要把注释再转换回语句,删除单引号即可。VBE的“编辑”工具栏包含了两个这要的按钮,一个是“设置注释块”,单击它将选中的语句(块)转换成注释;另一个是“解除注释块”,单击它可以将选中的注释转换回语句。
2.3 变量、数据类型和常量
VBA的主要目的就是处理数据。某些数据存在于对象中,比如工作表的单元格区域内,其他的数据存储在自定义的变量中。
“变量”只是命名的位于计算机内存中的存储位置。变量可以接纳很多种的“数据类型”,从简单的布尔值(True或者False)到复杂的双精度值。给变量赋值的时候,使用等号运算符。
VBA规定了有关变量名的规则:
可以使用字母、数字和一些标点符号,但是第一个字符必须是字母;
VBA不区分大小写。为了使得变量的名称更具有可读性,通常编程人员使用混合的大小写(例如,interestRate而不是interestrate)。我是一个C语言规则的推崇者,所以本书凡是变量名,采用首字母小写的“驼峰规则”,而凡是函数(过程)名、自定义类型名采用首字母大写的“驼峰规则”。
变量名称中不能嵌入特殊类型的字符(#,$,%,或者!)。
变量名称最多可以包含254个字符。
在上一章中,有很多给变量命名和函数名的例子,这里不再重复。需要补充的一点是,变量名或函数名不能与VBA中的“保留字”同名。
2.3.1 VBA的数据类型
学习过C语言的读者都知道,在C语言程序中,所有的变量必须先声明再使用,一是为了系统为之分配内存,二是为了编译器在对程序进行编译时进行合法性检查。我们称这样的语言为“严格的”语言,这样的语言在初学者看来并不习惯。但这样的语言能使我们少犯语法错误,占用更少的系统内存,使我们更容易写出执行效率更高的程序。
很遗憾,VBA并不是一种“严格的”语言,也就是说,VBA允许我们不定义就直接使用变量。这是有性能代价的,本节的后面我们将通过一个具体的实例来证明这一点。
要想让VBA象C语言一样,要求所有的变量“先声明,后使用”,可以程序的顶部添加一句“Option Explicit”,或者在VBE中,选择菜单“工具”→“选项”,打开“选项”对话框,在“编辑器”选项卡上,勾选“要求变量声明”选项。
表2.1列出了VBA的内置数据类型的分类(注意,还可以定义自
文档评论(0)