本书结合大量实例,由浅入深、循序渐进地介绍了Excel VBA开发技术。本书从初学者的角度出发,从最简单的VBA语法,一直讲解到VBA的数据库编程,图文并茂,通俗易懂,力图以最直观的方式使读者学好各个知识点。本书特意提供了典型习题及教学PPT,以方便教学。另外,本书还配了大量教学视频,帮助读者更好地学习。这些视频和书中的实例源代码一起收录于本书的配书光盘中。
全书共21章,分3篇。第1篇为Excel VBA编程基础,主要介绍了Excel VBA的发展历史、Excel 2010中的宏和开发VBA的环境、VBA变量与语句、VBA程序控制结构、VBA数组和过程等。第2篇为Excel VBA进阶开发,主要介绍了Excel VBA的对象模型、Application对象、工作簿对象、工作表对象和单元格对象、工作表界面、用户窗体、自定义Excel 2010功能区、图表对象、类模块和数据库编程等。第3篇为项目开发案例实战,主要介绍了教务管理系统和档案管理系统的实现方法。
本书适合没有编程基础的Excel VBA入门新手阅读,也可作为大中专院校及职业院校相关课程的教材。对于有一定基础的读者,可以通过本书进一步理解VBA的各个重要知识点。另外,本书也可供编程爱好者作为实际工作中的参考书籍。
随着Office办公软件的流行,Excel获得了广泛应用,Excel在提供基本功能的同时,也提供了扩展Excel功能的工具,Excel VBA是扩展Office办公软件功能的常用工具。
作为Excel VBA开发人员的必修课,笔者结合自己多年的开发信息系统经验和心得体会,精心编写了本书。本书以Excel 2010为载体,配合大量多媒体教学视频,通过系统的讲解和详细的示例,相信使初学者对Excel VBA开发有一个完整的认识。希望能在本书的引导下使读者掌握Excel VBA的开发方法。本书结合Excel VBA常用实例,深入浅出地讲解了Excel VBA开发环境、VBA语句、Excel对象模型和用户窗体的设计方法,并以大量实例贯穿于全书的讲解之中,最后还详细介绍了教务管理系统和档案管理系统的开发实例,使读者在实战中更深入地了解Excel VBA的开发。学习完本书后,读者可以具备独立开发Excel VBA的程序。
本书有何特色
1.配多媒体教学视频
本书提供配套的多媒体语音教学视频。在视频中对概念、示例和案例进行分析和详细地讲解,还加入了实际操作过程,旨在提高学习效率。
2.门槛低,容易入门
本书选取了Excel VBA开发的常见技术进行讲解,对读者的知识层次要求低,只要读者熟悉Windows操作系统即可。
3.内容全面、系统
本书详细介绍了Excel VBA开发所需要的知识,包括VBA语言基础、Excel对象模型、用户窗体、数据库编程和自定义Excel界面等。
4.讲解由浅入深,循序渐进
本书的编排采用循序渐进的方式,内容梯度从易到难,讲解由浅入深,适合各个层次的读者阅读,并均有所获。
5.写作细致,处处为读者着想
本书概念讲解通俗易懂、代码注释详尽、程序运行步骤清晰,扫清了读者的学习障碍。
6.贯穿大量的开发实例和技巧
本书在讲解知识点时贯穿了大量短小精悍的典型实例,并给出了大量的开发技巧,力求让读者获得真正实用的知识。
7.案例清晰
本书详细介绍了教务管理系统和档案管理系统的制作方法,详细介绍了Excel 2010中开发信息管理系统的一般方法。
8.提供教学PPT,方便老师教学
本书适合大中专院校和职业学校作为职业技能的教学用书,所以专门制作了教学PPT,以方便各院校的老师教学时使用。
本书内容安排
第1篇 Excel VBA编程基础(第1~8章)
本篇主要内容包括:Excel VBA的发展历史、功能、用途,Excel VBA中的宏、开发Excel VBA的环境、VBA变量和语句、VBA程序控制结构、VBA数组及VBA过程和 函数。
通过本篇内容的学习,读者可以掌握Excel VBA的发展历史和开发环境及Excel VBA编程的基础知识。
第2篇 Excel VBA编程进阶(第9~19章)
本篇主要内容包括:Excel对象模型、Application对象、工作簿对象、工作表对象、单元格对象、Excel图表对象、Excel用户窗体设计、自定义Excel功能区、操作Excel图表对象、使用类模块和VBA数据库编程。
通过本篇的学习,读者可以掌握Excel VBA对象模型的使用方法、Excel VBA用户窗体的设计方法和自定义Excel功能区的方法;另外还可以掌握Excel图表对象和VBA类模块的使用方法,以及使用Excel VBA进行数据库编程的方法。
第3篇 Excel VBA对象模型篇(第20~21章)
本篇主要内容包括:教务管理系统和档案管理的实现方法。通过本篇的学习,读者可以掌握使用Excel VBA开发信息系统的方法。
本书光盘内容
* 本书配套教学视频;
* 本书涉及的源代码。
本书读者对象
* Excel VBA入门人员;
* Excel VBA开发人员;
* Excel VBA爱好者;
* Office软件培训机构人员;
* 大中专院校的学生;
* 相关培训班的学员。
本书阅读建议
* 建议没有编程基础的读者从前至后顺次阅读,尽量不要跳跃。
* 书中的实例和示例建议读者都要亲自上机动手实践,学习效果更好。
* 课后习题都动手做一做,以检查自己对本章内容的掌握程度,如果不能顺利完成,建议回过头来重新学习一下本章内容。
* 学习每章内容时,建议读者先仔细阅读书中的讲解,然后再结合本章教学视频,学习效果更佳。
本书作者
全书由魏汪洋主编并编写了第1章,张明川编写了第2~6章,吴庆涛编写了第7章,郑瑞娟编写了第9章,徐翠霞编写了第10~13章,赵海霞编写了第14~16章,李冠峰编写了第18章,杨春蕾编写了第8、17、19、20、21章,王红艺编写了第22章。另外,陈世琼、陈欣、陈智敏、董加强、范礼、郭秋滟、郝红英、蒋春蕾、黎华、刘建准、刘霄、刘亚军、刘仲义、柳刚、罗永峰、马奎林、马味、欧阳昉、蒲军也参与了本书编写。马林参与了本书后期整理工作,全书由魏汪洋统编定稿。
阅读本书的过程中,若有任何疑问,可以发邮件到bookservice2008@163.com,以获得帮助。
魏汪洋
第1篇 Excel VBA编程基础
第1章 VBA概述( 教学视频:7分钟)2
1.1 什么是VBA2
1.1.1 VBA的产生及发展历史2
1.1.2 VBA的应用2
1.2 第1个VBA程序3
1.2.1 创建“Hello World”应用程序3
1.2.2 执行“Hello World”程序及查看结果4
1.2.3 使用VBA调试器4
1.3 VBA的功能及用途5
1.3.1 VBA的功能5
1.3.2 VBA的用途及常用开发工具5
1.4 小结6
1.5 本章习题6
第2章 Excel中的宏与VBA( 教学视频:18分钟)7
2.1 认识宏7
2.1.1 什么是宏7
2.1.2 理解宏的功能8
2.2 操作Excel中的宏8
2.2.1 录制宏9
2.2.2 保存宏10
2.2.3 执行宏11
2.2.4 编辑宏12
2.2.5 删除宏13
2.3 加载宏14
2.3.1 在Excel中加载宏14
2.3.2 在Excel中卸载加载宏15
2.3.3 在Excel中保存加载宏16
2.3.4 Excel中的其他加载宏17
2.4 宏的安全性18
2.4.1 通过信任中心设置宏的安全18
2.4.2 通过信任中心启用被禁的宏19
2.5 宏的数字签名19
2.5.1 添加数字签名20
2.5.2 使用数字签名22
2.6 小结24
2.7 本章习题24
第3章 开发VBA的工具( 教学视频:23分钟)25
3.1 Excel中的Visual Basic编辑器25
3.1.1 打开编辑器25
3.1.2 剖析编辑器26
3.2 常用编辑器窗口27
3.2.1 使用工程窗口查看工程结构27
3.2.2 使用属性窗口查看工程属性29
3.2.3 使用代码窗口编辑调试VBA代码30
3.2.4 使用立即窗口查看工程结果31
3.2.5 使用对象浏览器窗口查看所有对象32
3.3 使用编辑器的代码输入功能33
3.3.1 显示常用的属性和方法34
3.3.2 显示参数35
3.3.3 使用快速信息35
3.4 调试VBA36
3.5 小结38
3.6 本章习题38
第4章 VBA变量和运算符( 教学视频:19分钟)40
4.1 认识常量40
4.1.1 定义系统常量40
4.1.2 自定义常量41
4.2 使用变量42
4.2.1 在VBA中声明变量42
4.2.2 VBA强制声明变量44
4.2.3 VBA变量的作用域44
4.2.4 详解VBA变量的生存周期46
4.3 使用运算符和表达式47
4.3.1 算术运算符与算术表达式47
4.3.2 比较运算符与比较表达式48
4.3.3 逻辑运算符与逻辑表达式49
4.4 小结50
4.5 本章习题50
第5章 VBA语句( 教学视频:15分钟)51
5.1 VBA中的语句51
5.1.1 什么是语句51
5.1.2 使用赋值语句53
5.1.3 使用注释语句54
5.2 数据的输入和输出56
5.2.1 输入对话框56
5.2.2 提示对话框57
5.2.3 显示程序运行结果59
5.3 程序的中断60
5.3.1 暂停程序60
5.3.2 停止程序60
5.4 小结61
5.5 本章习题61
第6章 VBA程序控制结构( 教学视频:47分钟)63
6.1 使用VBA选择结构63
6.1.1 程序的结构63
6.1.2 使用条件表达式64
6.1.3 If…Then语句65
6.1.4 If…Then…Else语句66
6.1.5 IIf函数67
6.1.6 If…Then…ElseIf语句68
6.1.7 Select Case语句70
6.1.8 被嵌套的选择结构73
6.2 使用VBA循环结构75
6.2.1 For…Next语句75
6.2.2 For Each…In Next语句77
6.2.3 Do…Loop语句78
6.2.4 Until型Do…Loop语句80
6.2.5 While…Wend语句81
6.2.6 被嵌套的循环结构83
6.3 使用其他控制语句84
6.3.1 With语句84
6.3.2 Exit语句85
6.3.3 GoTo语句86
6.4 异常处理语句88
6.4.1 On Error语句88
6.4.2 Resume语句89
6.5 小结91
6.6 本章习题91
第7章 使用VBA数组( 教学视频:13分钟)93
7.1 什么是数组93
7.1.1 数组的概念93
7.1.2 声明一维数组94
7.1.3 声明二维数组95
7.2 静态数组96
7.2.1 初始化静态数组96
7.2.2 使用二维静态数组97
7.3 动态数组98
7.3.1 声明动态数组98
7.3.2 定义数组大小98
7.3.3 复制数组99
7.3.4 清空数组或重定义数组100
7.4 小结101
7.5 本章习题102
第8章 使用过程与函数( 教学视频:38分钟)103
8.1 什么是过程103
8.1.1 初识VBA模块103
8.1.2 理解过程104
8.2 VBA中的Sub过程104
8.2.1 创建Sub过程105
8.2.2 调用Sub过程106
8.3 VBA中参数的传递108
8.3.1 使用地址参数传递108
8.3.2 使用值参数传递109
8.3.3 使用数组参数传递110
8.3.4 使用可选参数111
8.3.5 使用可变参数114
8.4 使用Function过程116
8.4.1 理解函数116
8.4.2 定义Function过程119
8.4.3 直接调用Function过程119
8.4.4 在Excel工作表中调用Function函数120
8.5 小结122
8.6 本章习题123
第2篇 Excel VBA编程进阶
第9章 对象模型( 教学视频:22分钟)126
9.1 认识Excel对象126
9.1.1 理解对象的属性126
9.1.2 理解对象的方法127
9.1.3 理解对象的事件128
9.2 使用对象变量和对象数组130
9.2.1 使用对象变量130
9.2.2 使用对象数组132
9.3 使用Excel集合对象132
9.4 学习Excel 2010中的对象模型134
9.4.1 理解Excel对象模型134
9.4.2 了解Excel对象层次结构135
9.5 小结136
9.6 本章习题136
第10章 Application对象( 教学视频:41分钟)138
10.1 常用操作138
10.1.1 在Excel中使用“打开”对话框138
10.1.2 实现Excel定时操作139
10.1.3 退出Excel应用程序140
10.1.4 在Excel过程中调用宏141
10.1.5 激活Office 2010应用程序142
10.1.6 获取Excel系统信息142
10.1.7 为Excel操作指定快捷键143
10.2 设置Excel界面外观144
10.2.1 设置Excel界面标题栏144
10.2.2 使用Excel界面状态栏145
10.2.3 设置Excel窗口最大化和最小化146
10.2.4 设置Excel界面光标形状147
10.3 操作Excel单元格148
10.3.1 快速选择Excel单元格148
10.3.2 同时选择Excel多个区域单元格149
10.3.3 取消复制或剪切操作150
10.4 操作Excel文件151
10.4.1 获取文件夹中指定文件的Excel文件名151
10.4.2 获取Excel文件保存位置153
10.4.3 打开最近使用的Excel文件154
10.5 小结155
10.6 本章习题155
第11章 工作簿对象( 教学视频:29分钟)157
11.1 引用Excel工作簿对象157
11.1.1 引用Excel工作簿的方法157
11.1.2 激活Excel工作簿对象158
11.2 新建和打开Excel工作簿159
11.2.1 新建Excel工作簿159
11.2.2 打开Excel工作簿160
11.3 保存Excel工作簿161
11.3.1 使用Save方法保存Excel工作簿161
11.3.2 使用SaveAs方法保存Excel文档162
11.4 保护Excel工作簿163
11.4.1 设置Excel工作簿打开密码164
11.4.2 设置Excel工作簿保护密码164
11.5 使用Excel工作簿事件165
11.5.1 启用或禁用事件166
11.5.2 使用Excel工作簿的窗口大小更改事件167
11.5.3 使用Excel工作簿的打开事件167
11.5.4 使用Excel工作簿的工作表激活事件168
11.5.5 使用Excel工作簿的关闭之前事件169
11.6 小结170
11.7 本章习题170
第12章 工作表对象( 教学视频:48分钟)172
12.1 引用Excel工作表对象172
12.1.1 使用名称引用Excel工作表172
12.1.2 使用索引号引用Excel工作表173
12.2 新建和删除Excel工作表174
12.2.1 新建Excel工作表174
12.2.2 删除Excel工作表175
12.3 选取和隐藏Excel工作表176
12.3.1 选择Excel工作表176
12.3.2 隐藏Excel工作表177
12.4 复制和移动Excel工作表179
12.4.1 复制Excel工作表179
12.4.2 移动Excel工作表180
12.5 打印Excel工作表181
12.6 工作表的其他操作183
12.6.1 设置Excel工作表的滚动区域183
12.6.2 查看Excel工作表中的批注184
12.6.3 删除空白Excel工作表185
12.7 使用Excel工作表事件186
12.7.1 使用Excel工作表激活事件186
12.7.2 使用Excel单元格更改事件187
12.7.3 使用Excel工作表的选择区域变化事件188
12.7.4 使用Excel工作表右击事件189
12.8 小结190
12.9 本章习题191
第13章 单元格对象( 教学视频:36分钟)193
13.1 引用Excel单元格193
13.1.1 引用Excel单元格193
13.1.2 引用Excel单元格区域195
13.1.3 使用偏移方式引用Excel单元格197
13.2 操作Excel单元格198
13.2.1 删除Excel单元格198
13.2.2 清除Excel单元格内容199
13.2.3 插入和隐藏Excel单元格200
13.2.4 复制Excel单元格数据201
13.2.5 保护Excel单元格202
13.3 查找单元格数据203
13.3.1 查找单个条件的数据204
13.3.2 查找多个条件的数据205
13.3.3 使用Match方法查找数据206
13.3.4 筛选符合条件的数据208
13.3.5 按颜色筛选数据210
13.4 设置Excel单元格格式212
13.4.1 设置Excel单元格边框212
13.4.2 使用Excel条件格式213
13.4.3 使用Excel数据条215
13.4.4 自动排列前10名数据215
13.5 小结216
13.6 本章习题217
第14章 工作表界面( 教学视频:36分钟)219
14.1 认识Excel表单控件219
14.2 使用Excel表单控件220
14.2.1 “数值调节按钮”控件220
14.2.2 “单选按钮”控件和“分组框”控件222
14.2.3 “组合框”控件224
14.2.4 “列表框”控件226
14.2.5 “复选框”控件227
14.2.6 “标签”控件229
14.2.7 “按钮”控件229
14.3 使用Excel ActiveX控件231
14.3.1 添加控件和修改属性231
14.3.2 为控件添加程序代码234
14.4 小结238
14.5 本章习题238
第15章 自定义Excel用户窗体( 教学视频:61分钟)240
15.1 使用Excel窗体240
15.1.1 添加用户窗体240
15.1.2 设置窗体的属性和事件241
15.1.3 使用窗体的方法243
15.2 使用Excel控件245
15.2.1 认识控件245
15.2.2 设置窗体控件246
15.3 使用Excel标准控件249
15.3.1 “标签”控件249
15.3.2 “文本框”控件250
15.3.3 “复选框”控件和“单选按钮”按钮控件253
15.3.4 “列表框”控件257
15.3.5 “组合框”控件260
15.3.6 “图像”控件和“数字调节钮”控件261
15.3.7 TabStrip控件和“多页”控件263
15.3.8 Refedit控件266
15.4 使用Excel附加的ActiveX控件268
15.4.1 ListView控件268
15.4.2 ImageList控件272
15.4.3 TreeView控件275
15.5 小结281
15.6 本章习题281
第16章 自定义Excel 2010功能区( 教学视频:22分钟)283
16.1 什么是Open XML283
16.2 了解Excel 2010的功能区284
16.2.1 使用Excel 2010功能区的基本控件285
16.2.2 使用Excel 2010功能区的容器控件288
16.3 使用Open XML格式文件自定义功能区291
16.4 使用UI编辑器设计功能区294
16.5 小结297
16.6 本章习题297
第17章 控制图表( 教学视频:16分钟)299
17.1 引用Excel图表对象299
17.2 创建Excel图表对象300
17.2.1 使用Excel图表对象的常见属性300
17.2.2 添加Excel图表对象301
17.2.3 使用Excel图表对象的事件303
17.3 操作Excel图表305
17.3.1 操作图表区306
17.3.2 操作绘图区307
17.3.3 操作坐标轴308
17.3.4 操作数据系列310
17.4 小结311
17.5 本章习题312
第18章 类模块( 教学视频:13分钟)314
18.1 使用对象类314
18.1.1 创建对象类314
18.1.2 声明类模块中的对象315
18.2 使用对象属性316
18.2.1 使用变量创建属性316
18.2.2 使用属性过程317
18.3 创建类的方法318
18.4 类的事件319
18.4.1 创建事件的语法320
18.4.2 创建事件的案例320
18.5 小结322
18.6 本章习题322
第19章 数据库编程( 教学视频:23分钟)324
19.1 认识数据库324
19.2 使用ADO操作数据325
19.2.1 创建Connection连接对象325
19.2.2 使用Recordset记录集对象326
19.2.3 获取数据库中的数据329
19.2.4 在数据库中添加和删除记录332
19.3 查询数据库中的数据336
19.4 小结340
19.5 本章习题341
第3篇 项目开发案例实战
第20章 教务管理系统( 教学视频:27分钟)344
20.1 设计功能344
20.1.1 功能简介344
20.1.2 设计思路346
20.2 设计用户界面346
20.2.1 创建Excel 2010工作表346
20.2.2 设计教务管理登录界面347
20.3 学生查询分数348
20.4 教师查询分数352
20.4.1 创建查询表353
20.4.2 实现分数查询357
20.5 设置操作权限361
20.5.1 设定教师权限361
20.5.2 设置管理员权限362
20.6 退出程序363
20.7 小结364
第21章 档案管理系统( 教学视频:27分钟)366
21.1 设计功能366
21.1.1 功能简介366
21.1.2 设计思路367
21.2 设计用户界面367
21.2.1 添加信息录入控件367
21.2.2 添加控制按钮控件369
21.3 实现程序功能372
21.3.1 实现界面初始化功能372
21.3.2 实现添加人事信息功能373
21.3.3 实现查询和修改数据功能376
21.3.4 实现退出程序和查看工作表379
21.4 小结382