第1篇 Excel VBA准备篇 17
第1章 VBA概述 17
1.1 什么是VBA 17
1.1.1 VBA的产生及发展历史 17
1.1.2 VBA的应用 17
1.2 第1个VBA程序 17
1.2.1 创建一个“Hello World”!控制台程序 17
1.2.2 执行及查看结果 18
1.2.3 使用VBA调试器 18
1.3 VBA 的功能及用途 19
1.3.1 VBA的功能 19
1.3.2 VBA的用途及常用开发工具 19
1.4 习题 19
第2章 Excel 2013概述 20
2.1 了解Excel 2013 20
2.1.1 Excel的发展过程 20
2.1.2 Excel 2013的新特点 21
2.2 Excel 2013的操作 21
2.2.1 启动Excel 2013 22
2.2.2 认识Excel 2013的工作界面 23
2.2.3 操作Excel 2013工作簿 24
2.2.4 操作Excel 2013工作表 25
2.2.5 操作单元格 25
2.2.6 获取Excel 2013的帮助信息 26
2.2.7 退出Excel 2013 27
2.3 习题 28
第3章 Excel 2013中的宏与VBA 29
3.1 认识宏 29
3.1.1 了解宏的安全性 29
3.1.2 理解宏的功能 30
3.2 在Excel 2013中宏的操作 30
3.2.1 录制宏 30
3.2.2 保存宏 32
3.2.3 执行宏 32
3.2.4 编辑宏 33
3.2.5 删除宏 34
3.3 了解Excel VBA 35
3.3.1 认识VBA 35
3.3.2 了解VBA的特点 35
3.3.3 理解VBA与VB的关系 35
3.3.4 理解Excel 2013与 VBA的关系 36
3.4 第1个Excel VBA程序 36
3.4.1 理解程序结构 36
3.4.2 理解程序执行过程 37
3.5 运行VBA程序 37
3.5.1 通过菜单运行程序 38
3.5.2 通过工具栏运行程序 38
3.6 调试VBA程序 38
3.6.1 查看程序结果 38
3.6.2 查看变量值 38
3.7 习题 39
第2篇 Excel VBA基础篇 40
第4章 Visual Basic编辑器简介 40
4.1 Visual Basic编辑器概述 40
4.1.1 Visual Basic编辑器的发展过程 40
4.1.2 Visual Basic编辑器的特点 40
4.2 构建VBA工作环境 41
4.2.1 安装VBA开发环境 41
4.2.2 安装VBA帮助文档 42
4.3 操作Visual Basic编辑器 43
4.3.1 启动Visual Basic编辑器 43
4.3.2 认识Visual Basic编辑器窗口 43
4.3.3 退出Visual Basic编辑器 44
4.4 使用Visual Basic编辑器中的窗口 44
4.4.1 使用代码窗口 45
4.4.2 使用对象浏览器 46
4.4.3 使用立即窗口 47
4.4.4 使用本地窗口 48
4.4.5 使用监视窗口 50
4.4.6 属性窗口 51
4.4.7 使用工程资源管理器 51
4.5 调试VBA程序 53
4.5.1 使用调试工具栏 53
4.5.2 设置断点 54
4.5.3 使用stop语句 54
4.5.4 运行代码中的指定部分 54
4.6 自定义Visual Basic编辑器开发环境 54
4.6.1 设置“编辑器”的基本功能 55
4.6.2 设置编辑器格式 56
4.6.3 设置“通用”项 56
4.6.4 设置“可连接的”选项 56
4.7 习题 57
第5章 设计VBA算法 58
5.1 算法概述 58
5.1.1 简单算法举例 58
5.1.2 算法的特点 60
5.2 算法的描述方法 61
5.2.1 使用自然语言描述法 61
5.2.2 使用流程图描述法 61
5.2.3 使用N-S图描述法 63
5.2.4 使用伪代码描述法 65
5.2.5 使用计算机语言描述法 66
5.3 VBA常用算法 68
5.3.1 选择排序法 68
5.3.2 自左至右字符串定位算法 68
5.3.3 顺序查找算法 69
5.4 习题 69
第6章 数据类型与运算符 70
6.1 VBA的数据类型 70
6.1.1 理解数据 70
6.1.2 VBA数据类型 70
6.2 使用常量与变量 71
6.2.1 使用常量 71
6.2.2 使用变量 71
6.2.3 强制声明变量 72
6.2.4 使用类型标识符定义变量 72
6.2.5 定义公共变量 73
6.2.6 使用模块级变量 73
6.3 理解VBA常用数据类型 73
6.3.1 使用Boolean型数据 73
6.3.2 使用Byte型数据 73
6.3.3 使用Date型数据 74
6.3.4 使用Double型数据 74
6.3.5 使用Integer型数据 74
6.3.6 使用Long型数据 74
6.3.7 使用Object型数据 74
6.3.8 使用String型数据 75
6.3.9 使用Variant型数据 75
6.3.10 使用自定义数据类型 75
6.4 使用运算符 77
6.4.1 使用赋值运算符 77
6.4.2 使用算术运算符 77
6.4.3 使用关系运算符 79
6.4.4 使用连接运算符 80
6.4.5 使用逻辑运算符 81
6.5 使用表达式 82
6.5.1 算术表达式 82
6.5.2 使用关系表达式 83
6.5.3 使用逻辑表达式 83
6.5.4 使用其他表达式 83
6.6 习题 83
第7章 VBA程序控制结构 84
7.1 VBA顺序结构语句 84
7.1.1 使用声明语句 84
7.1.2 使用可执行语句 85
7.1.3 使用续行符 85
7.1.4 使用赋值语句 86
7.1.5 使用注释语句 87
7.1.6 使用暂停语句 88
7.1.7 使用条件编译语句 88
7.1.8 使用MsgBox函数 89
7.1.9 使用InputBox函数 90
7.1.10 程序举例 92
7.2 VBA选择结构语句 94
7.2.1 使用if...then...语句 95
7.2.2 使用嵌套的if语句 95
7.2.3 使用Select Case语句 97
7.2.4 程序举例 98
7.3 VBA循环结构语句 102
7.3.1 使用For...Next语句 102
7.3.2 使用 Do...Loop语句 103
7.3.3 使用While...Wend语句 104
7.3.4 使用ForEach...Next语句 105
7.3.5 使用嵌套的循环 106
7.4 习题 108
第8章 数组 109
8.1 使用静态数组 109
8.1.1 定义静态数组 109
8.1.2 初始化静态数组 110
8.1.3 获取数组的上下界 111
8.1.4 使用二维静态数组 111
8.2 使用动态数组 112
8.2.1 声明动态数组 112
8.2.2 定义数组大小 113
8.2.3 复制数组 113
8.2.4 重置数组 114
8.2.5 避免数组错误 114
8.3 程序举例 115
8.3.1 求素数 115
8.3.2 选择排序法 116
8.4 习题 117
第9章 过程与函数 118
9.1 理解过程与函数 118
9.1.1 过程与函数概述 118
9.1.2 过程与函数的分类 119
9.2 使用Sub过程 119
9.2.1 定义Sub过程 119
9.2.2 调用Sub过程 121
9.2.3 程序举例 122
9.3 使用Function函数 123
9.3.1 定义Function函数 123
9.3.2 调用Function函数 124
9.3.3 程序举例 125
9.4 使用参数传递 131
9.4.1 理解形式参数与实际参数 131
9.4.2 使用传值参数 132
9.4.3 使用传地址参数 133
9.4.4 使用可选参数传递 133
9.4.5 使用数组传递参数 134
9.5 习题 135
第3篇 Excel VBA对象模型篇 136
第10章 Excel对象模型 136
10.1 认识对象 136
10.1.1 理解对象的属性 136
10.1.2 理解对象的行为 136
10.2 面向对象程序设计 137
10.2.1 继承性 137
10.2.2 封装性 137
10.2.3 多态性 137
10.3 理解Excel 2013对象模型 138
10.3.1 认识Excel 2013对象模型 138
10.3.2 定义Excel对象变量 138
10.3.3 赋值Excel对象变量 138
10.3.4 设置对象的属性 139
10.3.5 使用对象的方法 139
10.3.6 使用With语句 139
10.4 使用集合对象 140
10.4.1 使用Excel集合对象 140
10.4.2 使用自定义集合对象 142
10.5 习题 144
第11章 Excel对象——Application对象 145
11.1 认识Application对象 145
11.1.1 Application对象常用属性 145
11.1.2 调用Application对象的方法 149
11.2 使用Application对象的事件 150
11.2.1 使用NewWorkbook事件 150
11.2.2 使用SheetActivate事件 152
11.2.3 使用SheetChange事件 152
11.2.4 使用WorkbookBeforeClose事件 153
11.2.5 使用WorkbookBeforePrint事件 154
11.3 操作Application对象 155
11.3.1 从外部程序中启动Excel 2013应用程序 155
11.3.2 修改Excel文档的标题名 156
11.3.3 设置状态栏 156
11.3.4 定时运行程序 157
11.3.5 退出Excel 2013应用程序 157
11.4 习题 158
第12章 Excel常用对象——工作簿Workbook对象 159
12.1 认识工作簿Workbook对象 159
12.1.1 使用Workbook对象常用属性 159
12.1.2 使用Workbook对象常用方法 161
12.2 使用工作簿Workbook对象的事件 161
12.2.1 使用BeforeClose事件 162
12.2.2 使用BeforeSave事件 162
12.2.3 使用WindowActivate事件 163
12.3 操作工作簿Workbook对象 163
12.3.1 访问工作簿 163
12.3.2 获取工作簿的信息 164
12.3.3 新建工作簿 165
12.3.4 使用对话框打开工作簿 165
12.3.5 备份工作簿 166
12.3.6 使用保存对话框保存工作簿 167
12.3.7 设置工作簿窗口大小 167
12.3.8 冻结窗格 168
12.3.9 更改工作簿名称 169
12.3.10 关闭工作簿 169
12.4 习题 170
第13章 Excel对象——工作表Worksheet对象 171
13.1 认识Worksheet对象 171
13.1.1 使用Worksheet对象常用属性 171
13.1.2 使用Worksheet对象的方法 173
13.2 使用工作表Worksheet对象的事件 174
13.3 操作工作表Worksheet对象 174
13.3.1 访问工作表 175
13.3.2 判断工作表是否存在 176
13.3.3 新建工作表 177
13.3.4 重命名工作表 179
13.3.5 复制工作表 180
13.3.6 移动工作表 181
13.3.7 删除工作表 182
13.3.8 工作表数据更改时重计算表格 183
13.4 习题 184
第14章 Excel对象——Range对象 185
14.1 认识Range对象 185
14.1.1 使用Range对象的常用属性 185
14.1.2 使用Range对象的方法 190
14.2 操作Range对象 191
14.2.1 引用某个单元格 191
14.2.2 引用连续单元格区域 192
14.2.3 引用单行单列 193
14.2.4 引用连续的整行整列 194
14.2.5 引用不连续的整行整列区域 195
14.2.6 使用多个非连续的单元格区域 195
14.2.7 使用多个单元格区域的交叉区域 197
14.2.8 使用隐藏的行和列 198
14.2.9 转换列标为字母 199
14.2.10 设置单元格的边框 200
14.2.11 设置单元格的背景 201
14.2.12 设置单元格对齐方式 202
14.2.13 命名单元格区域 203
14.2.14 设置单元格的行高列宽 204
14.2.15 合并单元格 205
14.2.16 插入单元格 206
14.2.17 插入整行整列 207
14.2.18 删除单元格 208
14.2.19 删除工作表中的空白行空白列 209
14.3 习题 210
第15章 Excel对象——Chart对象 211
15.1 认识图表 211
15.1.1 使用Chart对象的常用属性 212
15.1.2 使用Chart对象的方法 213
15.2 使用Chart对象的事件 214
15.3 操作图表 215
15.3.1 创建图表工作表 215
15.3.2 创建嵌入式图表 216
15.3.3 激活图表 218
15.3.4 设置图表格式 218
15.3.5 输出图表到剪贴板 219
15.3.6 输出图表到文件 219
15.4 习题 220
第4篇 Excel VBA用户界面设计篇 221
第16章 窗体操作 221
16.1 初识界面设计 221
16.1.1 理解界面设计的工作原理 221
16.1.2 理解Excel VBA的界面类型 221
16.2 认识窗体 222
16.2.1 使用窗体属性 222
16.2.2 使用窗体的方法 222
16.2.3 使用窗体事件 223
16.3 操作窗体 223
16.3.1 添加窗体 224
16.3.2 删除窗体 224
16.3.3 导入窗体 225
16.3.4 导出窗体 225
16.3.5 加载窗体 225
16.3.6 卸载窗体 226
16.3.7 显示窗体 226
16.3.8 隐藏窗体 226
16.3.9 添加窗体背景 226
16.3.10 区别模式窗体与非模式窗体 228
16.3.11 禁止使用窗体关闭按钮退出窗体 228
16.4 习题 229
第17章 窗体界面设计 230
17.1 认识控件 230
17.1.1 认识工具箱中的常用控件 230
17.1.2 添加工具箱中的控件 230
17.1.3 删除工具箱中的控件 231
17.1.4 自定义控件提示信息 231
17.2 设计窗体界面 232
17.2.1 添加窗体控件 232
17.2.2 对齐控件 232
17.2.3 设置控件的统一尺寸 233
17.2.4 引用窗体上的控件 233
17.3 设计工作表界面 233
17.3.1 添加控件 233
17.3.2 编辑工作表中的表单控件 234
17.3.3 编辑ActiveX控件 236
17.4 习题 236
第5篇 Excel VBA高级应用篇 237
第18章 自定义Excel 2013的用户界面 237
18.1 Excel 2013新界面介绍 237
18.1.1 功能区用户界面 237
18.1.2 “文件”选项卡 237
18.1.3 向快速访问工具栏添加命令 237
18.1.4 Excel 2013新界面与Ribbon 238
18.2 自定义菜单 238
18.2.1 使用VBA代码访问Excel菜单 238
18.2.2 创建自定义菜单 239
18.2.3 创建快捷菜单 239
18.3 自定义功能区 240
18.3.1 使用记事本定制功能区选项卡 240
18.3.2 使用Custom UI Editor修改UI 240
18.4 习题 241
第19章 工作表控件 242
19.1 表单控件 242
19.1.1 按钮控件 242
19.1.2 列表框和组合框 243
19.1.3 复选框与单选按钮 246
19.2 ActiveX控件 248
19.2.1 标签、按钮、文本框 249
19.2.2 单选按钮和复选框 250
19.3 习题 251
第20章 VBA与Windows API 252
20.1 Windows API基础 252
20.1.1 Windows API概述 252
20.1.2 API分类 252
20.2 在Excel中使用API 253
20.2.1 声明函数 253
20.2.2 调用API函数 253
20.3 制作特殊窗体 254
20.3.1 制作半透明窗体 254
20.3.2 制作椭圆窗体 255
20.4 获取系统信息 256
20.4.1 获取内存状态 256
20.4.2 获取键盘信息 257
20.5 习题 257
第21章 XML与VBA 258
21.1 在Excel中使用XML 258
21.1.1 XML简介 258
21.1.2 XML模式文件 258
21.1.3 加载XML文件 259
21.1.4 加载XML模式文件 259
21.1.5 使用VBA操作XML文件 259
21.2 DOM对象编程 260
21.2.1 创建和加载XML文档 261
21.2.2 遍历XML文档 261
21.2.3 添加XML文档元素 262
21.2.4 删除XML文档元素 262
21.2.5 修改XML文档元素 262
21.3 习题 262
第22章 VBA中DLL动态链接库应用设计 263
22.1 使用DLL封装Excel VBA 263
22.1.1 建立ActiveX DLL工程 263
22.1.2 在工程中引用Excel 263
22.1.3 编写代码 264
22.1.4 工程属性设置 264
22.1.5 编译生成DLL文件 264
22.2 Excel VBA工程中引用DLL 265
22.2.1 引用并注册DLL文件 265
22.2.2 调用DLL中的函数 265
22.2.3 执行、测试程序 266
22.3 习题 266
第23章 加载宏 267
23.1 标准加载宏 267
23.1.1 创建标准加载宏 267
23.1.2 安装标准加载宏 268
23.2 标准加载宏示例 268
23.2.1 加载宏的功能 268
23.2.2 自定义标准加载宏 269
23.2.3 安装自定义加载宏 269
23.2.4 使用标准加载宏 270
23.3 习题 270
第24章 数据库编程 271
24.1 使用MS-Query管理外部数据 271
24.1.1 了解MS-Query 271
24.1.2 实例介绍 271
24.1.3 连接数据源 273
24.1.4 创建数据查询 274
24.2 ADO概述 274
24.2.1 引用ADO对象库 274
24.2.2 ADO对象模型简介 275
24.2.3 SQL简介 275
24.3 Connection对象 276
24.3.1 Connection对象的常用属性 276
24.3.2 Connection对象的常用方法 276
24.4 Command对象 277
24.4.1 Command对象的常用属性 277
24.4.2 Command对象的常用方法 277
24.5 Recordset对象 277
24.6 习题 278
第6篇 Excel VBA综合实例篇 279
第25章 人事管理系统 279
25.1 需求分析 279
25.1.1 问题描述 279
25.1.2 分析当前系统 279
25.2 功能分析 279
25.2.1 添加员工信息 280
25.2.2 删除员工信息 280
25.2.3 修改员工信息 280
25.2.4 查询员工信息 280
25.2.5 统计性别信息 280
25.2.6 统计工龄信息 280
25.3 表格设计 281
25.3.1 设计员工信息表 281
25.3.2 设计性别统计表和工龄统计表 281
25.4 设计窗体及代码 281
25.4.1 准备工作 281
25.4.2 设计添加员工信息窗体 282
25.4.3 设计删除员工信息窗体 287
25.4.4 设计修改员工信息窗体 289
25.4.5 设计查询员工信息窗体 295
25.4.6 设计人事管理系统主界面 298
第26章 Operate System考试系统 303
26.1 需求分析 303
26.1.1 问题描述 303
26.1.2 分析当前系统 303
26.2 功能设计 303
26.2.1 解答填空题 303
26.2.2 解答判断题 304
26.2.3 解答单项选择题 304
26.2.4 解答多项选择题 304
26.3 设计卷面 304
26.3.1 准备工作 304
26.3.2 设计填空题卷面 304
26.3.3 设计判断题卷面 307
26.3.4 设计单项选择题卷面 310
26.3.5 设计多项选择题卷面 312
26.3.6 设计标准答案工作表和答题纸工作表格式 314
26.4 设计窗体及代码 314
26.4.1 准备工作 314
26.4.2 设计考试说明界面和分值说明界面 315
26.4.3 设计Operate System考试系统主界面 316