第1章 奇境的入口——从VBE走进VBA编程世界 1
1.1 在哪里写代码——VBE与模块 2
1.1.1 找到VBA编辑器 2
1.1.2 在正确的位置编写代码 4
1.2 见微知著——从一个简单例子观察VBA程序的结构 7
1.2.1 Sub / End Sub——程序的起始与结束 8
1.2.2 词汇与语句——程序语言的基本要素 9
1.3 Cells与运算符——用VBA控制Excel单元格 10
1.3.1 Cells——代码与表格之间的第一个桥梁 11
1.3.2 赋值操作——等号的主要用途 12
1.3.3 加、减、乘、除——基本的算术运算符 12
1.4 VBA程序的运行与保存——按钮、XLSM文件及宏安全性 13
1.4.1 宏与宏安全性 14
1.4.2 运行VBA程序的常用方法 14
1.4.3 XLSM文件——VBA程序的藏身之所 17
本章小结 18
第2章 程序的记忆——变量与常量 19
2.1 变量的作用与含义 19
2.1.1 为什么需要使用变量 19
2.1.2 什么是变量 21
2.1.3 再问一次:什么是变量 22
2.1.4 前后对比——使用变量的好处 23
2.2 没有规矩不成方圆——有关变量的最佳实践 24
2.2.1 变量的命名 24
2.2.2 强制声明 28
2.2.3 把重复数据都抽取为变量 31
2.3 常量——那些重复却不变的内容 32
本章小结 35
第3章 力量的源泉——循环结构 36
3.1 循环结构概述 37
3.2 For…Next循环语句 38
3.2.1 For…Next循环语句的基本语法 38
3.2.2 For…Next循环的典型用法 40
3.2.3 Step子句 42
3.2.4 For…Next循环的“初学者陷阱” 45
3.3 用循环实现汇总——累加器与计数器 48
3.4 缩进与注释——提高代码的可读性 50
3.4.1 代码缩进 50
3.4.2 代码注释 52
本章小结 53
第4章 智能的产生——判断结构 54
4.1 If语句与关系运算 55
4.1.1 用If语句实现判断结构 55
4.1.2 用关系运算比较大小 57
4.1.3 用Else和ElseIf实现多分支判断 57
4.2 嵌套结构——多层If语句的使用 67
4.3 逻辑表达式——怎样表示“与”“或”“非” 71
4.3.1 逻辑表达式 71
4.3.2 常见逻辑运算符的使用方法 71
4.4 Select…Case结构 79
4.4.1 Select…Case结构的基本用法 79
4.4.2 在Case语句中表示复杂条件 80
本章小结 81
第5章 文字的表述——字符串基础 83
5.1 字符串的基本概念与格式 84
5.1.1 什么是字符串 84
5.1.2 区分字符串与变量 86
5.1.3 在字符串中表示特殊符号 86
5.2 字符串的理解要点 89
5.2.1 空字符串 89
5.2.2 非打印字符(空白字符) 90
5.2.3 区分大小写字符 91
5.2.4 区分数字与字符串 91
5.3 字符串连接操作 92
5.3.1 字符串连接符——“+”与“&” 92
5.3.2 灵活构造字符串 93
本章小结 96
第6章 诊断的技巧——程序调试 97
6.1 程序错误的类型与排查 97
6.1.1 编译错误 98
6.1.2 运行时错误 99
6.1.3 逻辑错误 100
6.2 使用断点与监视 101
6.2.1 “望闻”之术——设置断点 101
6.2.2 “问”的技巧——添加监视 102
6.2.3 “切”脉秘籍——让程序单步执行 104
6.3 代码“无间道”——Debug.Print与立即窗口 109
本章小结 110
第7章 维度的拓展——再谈循环结构 111
7.1 多重循环 112
7.1.1 双重循环的概念 112
7.1.2 初学者常见错误 114
7.1.3 更多层次的嵌套循环 119
7.2 While循环 120
7.2.1 Do While循环的基本用法 120
7.2.2 While循环结构的初学者陷阱 123
7.2.3 Do While循环的典型应用 125
7.2.4 While循环的各种形式 129
7.3 Exit语句与Goto语句 131
7.3.1 跳出当前结构——Exit语句的使用 131
7.3.2 随心所欲难免逾矩——Goto语句及其利弊 133
7.3.3 异常处理——On Error Goto语句 134
本章小结 137
第8章 名字的魔力——面向对象与录制宏 138
8.1 面向对象——程序员的世界观 139
8.1.1 面向过程与面向对象简述 139
8.1.2 类、对象、属性、方法 141
8.2 从Range看VBA对象的使用方法 143
8.2.1 Range对象概述 143
8.2.2 Range对象的基本用法与技巧 144
8.2.3 设置单元格格式—— 字体、颜色及With结构 150
8.2.4 智能提示——使用As关键字声明对象类型 156
8.3 Excel对象体系 157
8.3.1 了解所有对象——对象浏览器与MSDN 157
8.3.2 最常用的Excel对象 159
8.4 打开黑箱看代码——录制宏 160
8.4.1 宏的录制过程 160
8.4.2 宏代码的解读与运用 162
8.4.3 对录制宏代码的初步优化 164
本章小结 165
第9章 能力的释放——批量处理工作表与工作簿 166
9.1 个体与集合——再谈Excel常用对象间的关系 167
9.2 工作表对象 168
9.2.1 为Range对象指定所属工作表 168
9.2.2 技巧与陷阱——With与Range 170
9.2.3 最佳实践——按名引用工作表 172
9.2.4 遍历所有工作表 172
9.2.5 多个工作表汇总的常用技巧 175
9.2.6 工作表的其他常用操作 180
9.3 工作簿对象 183
9.3.1 工作簿文件的打开、保存与关闭 183
9.3.2 常用技巧——工作簿的拆分与汇总 187
本章小结 191
第10章 结构的艺术——过程、函数与字符串处理 193
10.1 子过程与“结构化程序设计” 194
10.1.1 子过程基本概念与调用方法 194
10.1.2 变量的作用域 198
10.1.3 参数的概念 199
10.1.4 子过程与参数的更多细节 202
10.2 函数与自定义公式 204
10.2.1 函数的格式与功能 204
10.2.2 将函数作为表格公式 209
10.2.3 系统函数 211
10.2.4 Msgbox函数 212
10.3 字符串函数 214
10.3.1 计算字符串长度 214
10.3.2 将字符串规范化 215
10.3.3 替换文本 217
10.3.4 子串操作 218
10.3.5 字符串函数的应用 222
本章小结 223
第11章 万物的源头——Application对象 225
11.1 隐藏的Application对象 226
11.1.1 Cells的真实来历 226
11.1.2 与Cells类似的情况 227
11.2 通过WorksheetFunction属性调用公式 229
11.3 Application的其他属性与方法 232
11.3.1 常用属性 232
11.3.2 常用方法 235
本章小结 236
第12章 细分的好处——VBA数据类型 238
12.1 VBA数据类型概述 239
12.1.1 为什么要划分数据类型 239
12.1.2 变体类型的功与过 240
12.1.3 VBA中的数据类型概览 243
12.2 数字类型 244
12.2.1 常用类型:Integer、Long和Double(符号问题) 244
12.2.2 其他类型:Byte、Single、Currency和Decimal 246
12.2.3 简写符号 248
12.2.4 初学者陷阱:常数有时也要声明类型 248
12.2.5 自动类型转换与强制类型转换 250
12.3 字符串类型 253
12.3.1 字符的本质 253
12.3.2 像数字一样处理字符串 255
12.4 日期类型 258
12.4.1 日期和时间的一般表示 259
12.4.2 常用日期函数 259
12.4.3 日期类型的本质 265
12.5 逻辑类型 266
12.5.1 逻辑值与逻辑运算 266
12.5.2 逻辑类型的应用 269
12.6 对象类型 272
12.7 数据类型的检测 273
12.8 “无”的各种表示方法——Nothing、Null与Empty 275
本章小结 275
第13章 集体的名义——VBA中的数组 277
13.1 数组的基本概念 278
13.1.1 什么是数组 278
13.1.2 数组声明中的细节问题 279
13.1.3 数组的用途与技巧 281
13.2 动态数组 285
13.2.1 动态数组与ReDim语句 285
13.2.2 使用Split拆分字符串 287
13.3 多维数组与表格读写 289
13.3.1 什么是二维数组 289
13.3.2 二维数组与Range对象 291
13.3.3 多维数组的概念 293
本章小结 294
第14章 信息的整合——文件与文件夹操作 295
14.1 读写文本文件 296
14.1.1 什么是文本文件 296
14.1.2 文本文件的打开与读取 296
14.1.3 将数据写入文本文件 300
14.2 打开文件夹中的所有文件 302
14.2.1 Dir函数的基本用法 302
14.2.2 Dir函数的更多技巧 303
14.3 其他文件操作简介 305
本章小结 306
第15章 选择的自由——自定义参数及其他函数技巧 307
15.1 可选参数 308
15.1.1 Optional与默认值 308
15.1.2 可选参数的省略与按名传递 309
15.1.3 判断可选参数是否被使用 311
15.2 引用传递与值传递 312
15.3 随机数函数的使用 314
15.3.1 Rnd函数的基本用法 314
15.3.2 深入了解:“伪”随机数与“种子” 316
本章小结 318
第16章 区域的管理——深入了解Range对象 320
16.1 遍历Range内部单元格 321
16.1.1 Cells属性 321
16.1.2 自定义公式 322
16.1.3 Rows与Columns属性 323
16.2 获取Range对象的描述信息 324
16.2.1 位置信息 324
16.2.2 公式信息 325
16.2.3 合并单元格信息 326
16.3 重新定位Range对象 329
16.3.1 Offset、Resize与CurrentRegion属性 329
16.3.2 Worksheet对象的Cells与UsedRange属性 333
16.3.3 Application对象的Union与Intersection方法 334
16.4 Find与Sort方法简介 334
16.4.1 Range.Find方法 334
16.4.2 Range.Sort方法 336
本章小结 337
第17章 “神经”的连通——编写事件处理程序 339
17.1 事件编程基本概念与过程 340
17.1.1 事件与事件响应 340
17.1.2 事件编程的基本步骤 340
17.2 Excel常用事件 343
17.2.1 工作表事件 343
17.2.2 工作簿常用事件 347
17.3 事件级联 348
17.4 访问修饰符与静态变量 350
17.4.1 访问修饰符 350
17.4.2 静态变量 352
17.4.3 静态变量在事件处理中的应用 353
本章小结 355
第18章 界面的革新——设计用户窗体 356
18.1 窗体程序开发过程 357
18.1.1 窗体与控件 357
18.1.2 窗体模块与设计器 357
18.1.3 指定属性和外观 359
18.1.4 为窗体事件编写代码 361
18.1.5 窗体的显示与退出 363
18.2 窗体与常用控件的属性、事件和方法 365
18.2.1 窗体对象 365
18.2.2 标签与文本框 367
18.2.3 列表框与组合框 369
18.2.4 单选按钮、复选框及框架 372
18.2.5 窗体控件综合案例——将数据录入工作表 375
18.3 其他常用控件及附加控件 378
18.3.1 其他常用控件简介 378
18.3.2 附加控件的使用 379
18.4 关于窗体与控件的其他要点 383
18.4.1 多窗体协同 383
18.4.2 多个控件的对齐 383
18.4.3 工作表中的ActiveX控件 384
本章小结 385
第19章 工具的升级——集合、字典及正则表达式 386
19.1 集合对象 387
19.2 字典对象 388
19.2.1 使用CreateObject创建外部对象 388
19.2.2 字典的概念与应用 390
19.2.3 字典的其他常用属性与方法 393
19.3 正则表达式入门 394
19.3.1 什么是正则表达式 395
19.3.2 正则表达式的基本语法 396
19.3.3 在VBA中使用正则表达式 410
本章小结 415
第20章 天地的无穷——那些未及细说的主题 416
20.1 类模块与自定义类 417
20.2 开发小型管理信息系统 418
20.3 深入操作Office软件与Windows系统 421
20.4 算法的价值 421
结语 VBA的未来 423
· · · · · · (
收起)