第一章 Microsoft VBA概述 2
1.1 什么是VBA 2
1.1.1 VBA的历史 2
1.1.2 VBA与Visual Basic区别 2
1.1.3 VBA的优点和功能 4
1.2 第一个VBA程序 5
1.2.1 第一个VBA程序 5
1.2.2 执行VBA程序 7
1.2.3 编辑VBA代码 8
第二章 VBA编程基础 12
2.1 VBA基础元素 12
2.1.1 标识符 12
2.1.2 运算符 12
2.1.3 数据类型 12
2.1.4 变量与常量 13
2.1.5 数组 14
2.2 常见语句 14
2.2.1 注释和赋值语句 14
2.2.2 书写规范 15
2.2.3 判断语句 15
2.2.4 循环语句 16
2.3 过程和函数 19
2.3.1 Sub过程 19
2.3.2 Function函数 19
2.3.3 测试函数 20
2.3.4 数学函数 20
2.3.5 字符串函数 21
2.3.6 转换函数 21
2.3.7 时间函数 22
2.4 文件操作 22
2.4.1 列表操作 22
2.4.2 删除操作 23
2.4.3 打开操作 23
2.4.4 读入操作 24
2.4.5 写入操作 24
第三章 宏和控件的使用 26
3.1 宏的录制和保存 26
3.1.1 快速运行宏 26
3.1.2 改变宏的保存位置 28
3.2 创建个人宏工作簿 29
3.2.1 保存个人宏 29
3.2.2 使用个人宏 30
3.2.3 编辑个人宏 31
3.3.4 删除个人宏 32
3.3 认识和使用VBA控件 32
3.3.1 什么是控件 32
3.3.2 常见控件 33
3.3.3 向工作表中添加控件 35
3.3.4 设置控件的格式 37
3.3.5 给控件命名 39
3.3.6 使用VBA窗体 39
3.4 将宏指定给控件 42
3.4.1 将宏指定给按钮 42
3.4.2 将宏指定给图片 43
3.4.3 将宏指定给工具栏按钮 45
第四章 常量和变量的使用 48
4.1 使用Visual Basic编辑器 48
4.1.1 使用Visual Basic编辑器的工具栏 48
4.1.2 浏览代码 49
4.1.3 使用开发手册 50
4.1.4 使用对象浏览器 52
4.1.5 设置编辑器选项 53
4.2 变量的声明和使用 55
4.2.1 深入认识变量 55
4.2.2 如何声明变量 55
4.2.3 明确变量的数据类型 59
4.2.4 给变量赋值 61
4.2.5 强制声明变量 64
4.2.6 变量的范围 67
4.2.7 静态变量 70
4.2.8 声明和使用对象变量 71
4.3 常量的使用 74
4.3.1 在过程中使用常量 74
4.3.2 内置常量 75
第五章 程序流程控制 80
5.1 判断语句 80
5.1.1 关系和逻辑运算符 80
5.1.2 If…Then语句 80
5.1.3 多于条件的判断 85
5.1.4 If…Then…Else语句 88
5.1.5 If…Then…ElseIf语句 93
5.1.6 嵌套的If…Then语句 96
5.2 选择语句 97
5.2.1 Select Case语句 97
5.2.2 和Case子句一起使用Is 100
5.2.3 确定Case子句里数值的范围 101
5.2.4 在Case子句里确定多个表达式 103
5.3 循环语句 104
5.3.1 DoWhile循环 104
5.3.2 DoUntil循环 107
5.3.3 执行循环过程 110
5.3.4 WhileWend循环 111
5.3.5 ForNext循环 113
5.3.6 ForEachNext循环 115
5.3.7 循环嵌套 117
第六章 子程序和函数 120
6.1 函数过程基础 120
6.1.1 关于函数过程 120
6.1.2 创建函数过程 120
6.2 执行函数过程 123
6.2.1 从工作表里执行 123
6.2.2 从另一个过程里执行 124
6.2.3 传递参数 126
6.2.4 明确参数类型 128
6.2.5 按地址和按值传递参数 129
6.2.6 使用可选的参数 131
6.3 使用内置函数 133
6.3.1 VBA内置函数介绍 133
6.3.2 使用MsgBox函数 134
6.3.3 MsgBox函数的运行值 140
6.3.4 使用InputBox函数 141
6.3.5 数据类型转变 143
6.3.6 使用InputBox的方法 145
6.3.7 使用主过程和子过程 147
第七章 用VBA操纵外部对象 152
7.1 用函数控制外部对象 152
7.1.1 控制对象名称 152
7.1.2 控制对象属性 154
7.1.3 操作文件夹对象 161
7.1.4 操作文件对象 162
7.2 高级对象控制方法 166
7.2.1 处理顺序文件 166
7.2.2 利用WSH操作对象 175
7.2.3 WSH对象的方法和属性 178
7.2.4 使用WSH运行应用程序 179
7.2.5 使用WSH创建快捷方式 181
第八章 设计用户界面 184
8.1 使用用户窗体 184
8.1.1 为应用程序添加用户窗体 184
8.1.2 添加控件到用户窗体上 186
8.1.3 分配Tab键切换顺序 189
8.1.4 为控件分配快捷键 190
8.2 实现窗体的自动功能 191
8.2.1 初始化用户窗体中的值 191
8.2.2 显示用户窗体 194
8.2.3 控制窗体的行为 195
8.2.4 数据有效性验证 197
8.2.5 使用返回值 200
8.3 控制早期版本的工具栏和菜单 203
8.3.1 手工修改工具栏 203
8.3.2 创建自定义工具栏 205
8.3.3 用VBA创建工具栏 206
8.3.4 手工修改菜单 208
8.3.5 通过VBA来使用菜单 210
第九章 程序的调试和排错 216
9.1 VBA程序的调试 216
9.1.1 程序开发的测试和调试阶段 216
9.1.2 测试VBA过程 217
9.1.3 使用断点调试程序 218
9.1.4 用即时窗口调试程序 221
9.1.5 使用STOP进行中断 222
9.2 VBA程序的排错 222
9.2.1 使用监视表达式 222
9.2.2 使用快速监视 226
9.2.3 使用本地窗口和堆栈 227
9.2.4 逐句运行VBA过程 228
9.2.5 逐过程执行过程 229
9.2.6 使用条件编译 231
9.2.7 处理错误输出 233
9.2.8 创建集中的错误处理程序 239
第十章 Excel对象事件编程 244
10.1 管理图表对象 244
10.1.1 创建图表 244
10.1.2 编辑录制的代码 245
10.1.3 执行修改后的图表代码 247
10.1.4 更复杂的图表示例 248
10.2 数据透视表对象 252
10.2.1 使用数据透视表 252
10.2.2 数据透视表应用 253
10.2.3 使用代码来创建数据透视表 254
10.2.4 查看录制的代码 256
10.3 Microsoft Office对象 258
10.3.1 什么是自动化 258
10.3.2 引用自动化服务器 259
10.3.3 创建自动化服务器实例 259
10.3.4 使用VBA来控制Word对象 260
10.4 Excel VBA对象事件编程 264
10.4.1 事件过程介绍 265
10.4.2 激活和失活事件 266
10.4.3 事件次序 267
10.4.4 工作表事件 268
10.4.5 工作簿事件 274
10.4.6 图表事件 288
10.4.7 内嵌图表事件 291
第十一章 VBA编程综合应用案例 291
11.1 办公用品管理系统 294
11.1.1 案例背景 294
11.1.2 创建入库及查询表格 294
11.1.3 建立按钮程序与公式 299
11.1.4 保护工作表 306
11.1.5 检查表单功能 309
11.1.6 建立出库及查询表格 312
11.1.7 创建管理窗口界面 322
11.1.8 添加界面程序 325
11.1.9 安全口令管理 327
11.1.10 设定宏运行环境 329
11.1.11 测试系统 330
11.2 俄罗斯方块程序 332
11.2.1 编程前准备 332
11.2.2 构建方块体 333
11.2.3 初始化程序 334
11.2.4 随机生成方块 336
11.2.5 方块进入和运动 337
11.2.6 判断方块所处环境 338
11.2.6 移动操控的方块 339
11.2.7 方块的变形处理 339
11.2.8 方块消除处理 341
11.2.9 杂项处理 342
第十二章 Excel VBA高级应用 346
12.1 Excel VBA程序的类型 346
12.1.1 Excel VBA程序的类型 346
12.1.2 部署VBA程序 346
12.1.3 管理VBA程序安全性 347
12.2 操控其他Office成员 348
12.2.1 启动其他Office组件 348
12.2.2 与其他Office组件交互 351
12.2.3 反向操控Excel 352
12.2.4 Excel自动化中的事件 353
12.2.5 Excel完成业务逻辑 354
12.2.6 Excel工程的引用 354
12.3 Excel与Access的协作 355
12.3.1 使用Access对象库 355
12.3.2 链接到Access数据库 357
12.3.3 使用ADO链接数据库 361
12.3.4 创建新Access数据库 362
12.3.5 打开Access窗体 364
12.3.6 运行Access查询 366
12.3.7 从Access取数据到Excel 368
12.3.8 Excel数据导入Access 370
附录 Excel VBA编程入门经典范例一、Excel应用程序对象及其常用方法 373
1.体验开/关屏幕更新 373
2.使用状态栏 374
3.处理光标 374
4.获取系统信息 374
5.退出复制/剪切模式 375
6.禁止弹出警告信息 375
7.将Excel全屏幕显示 375
8.Excel启动的文件夹路径 375
9.打开最近使用过的文档 376
10.打开文件(FindFile方法) 376
11.文件对话框操作 376
12.保存Excel的工作环境 377
13.改变Excel工作簿名字 377
14.使用InputBox方法 377
15.设置页边距 377
16.使用Windows的计算器 377
17.在程序中运行另一个宏 378
18.在指定的时间执行宏 378
19.暂时停止宏运行 378
20.按下指定的按键后执行程序 378
21.重新计算工作簿 379
22.控制函数重新计算 379
23.利用工作表函数 380
24.获取重叠区域 380
25.获取路径分隔符 380
26.快速移至指定位置 380
27.显示内置对话框 381
28.退出Excel 381
29.关闭Excel 381
二、窗口基本操作应用范例 381
1.激活窗口 382
2.窗口状态 382
3.切换显示工作表元素 384
4.显示公式 385
5.显示/隐藏工作表标签 386
6.命名活动窗口 386
7.移动窗口到指定位置 386
8.调整窗口 386
9.拆分窗格 387
10.冻结窗格 388
11.设置网格线颜色 388
12.设置工作表标签区域宽度和水平滚动条宽度比例 388
13.设置激活窗口时运行的程序 388
14.获取指定窗口单元格区域地址 389
15.返回指定窗口中所选择的工作表 389
16.排列窗口 389
17.窗口尺寸 390
18.水平排列两个窗口 390
19.改变窗口的高度和宽度 391
20.移动窗口 392
21.并排比较窗口 392
22.返回或设置窗口中显示的视图 393
23.返回窗口中可见单元格区域 393
24.创建窗口 393
25.设置窗口大小 393
26.激活窗口 394
27.滚动窗口 394
28.测试所选单元格宽度和高度 395
29.关闭窗口 396
三、工作簿基本操作应用范例 396
1.创建工作簿 396
2.添加并保存新工作簿 397
3.打开工作簿 397
4.将文本文件导入工作簿中 397
5.保存工作簿(Save方法) 398
6.保存工作簿(SaveAs方法) 398
7.取得当前打开的工作簿数(Count属性) 399
8.激活工作簿(Activate方法) 400
9.保护工作簿(Protect方法) 400
10.解除工作簿保护(UnProtect方法) 401
11.工作簿的一些通用属性示例 401
12.访问工作簿的内置属性 401
13.测试工作簿中是否包含指定工作表 403
14.对未打开的工作簿进行重命名 404
15.设置数字精度 404
16.删除自定义数字格式 404
17.控制工作簿中图形显示 404
18.指定名称 405
19.检查工作簿的自动恢复功能 405
20.设置工作簿密码 405
21.返回工作簿用户状态信息 406
22.检查工作簿是否有密码保护 406
23.决定列表边框是否可见 407
24.关闭工作簿 407
25.创建新的工作簿 408
26.判断工作簿是否存在 409
27.判断工作簿是否已打开 409
28.备份工作簿 410
29.从已关闭的工作簿中取值 412
四、工作表基本操作应用范例 414
1.增加工作表 415
2.复制工作表 415
3.移动工作表 415
4.隐藏和显示工作表 415
5.获取工作表数 416
6.获取或设置工作表名称 417
7.激活/选择工作表 418
8.获取当前工作表的索引号 418
9.选取前一个工作表 419
10.选取下一个工作表 419
11.工作表行和列的操作 419
12.工作表标签 421
13.确定打印的页数 422
14.保护/撤销保护工作表 422
15.删除工作表 423
16.判断一个工作表(名)是否存在 423
17.Application.WindowState排序工作表 425