
本书结合大量实例,由浅入深、循序渐进地介绍了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,以获得帮助。
魏汪洋
??
??
??
??
零点起飞学Excel VBA
·II·
·III·
目 录
第1篇 Excel VBA编程基础
第1章 VBA概述( 教学视频:7分钟) 2
1.1 什么是VBA 2
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 调试VBA 36
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 XML 283
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
??
??
??
??
零点起飞学Excel VBA
·XIV·
·XIII·