第1章
VBA,一个让Excel更厉害的“外挂” 1
第1节 知道吗?Excel还可以这样用 / 2
第3节 要保证VBA代码正常执行,这几点需要注意 / 16
1.3.1 要保存VBA代码,应将文件保存为指定格式 / 16
1.3.2 要执行VBA代码,需要设置启用宏 / 17
1.3.3 想直接启用宏?可以添加文件到受信任位置 / 19
第4节 Excel能生成VBA代码,又何必再学VBA / 21
第5节 话说回来,究竟什么是VBA / 24
1.5.1 VBA,是我们和Excel沟通的一种方式 / 24
1.5.2 VBA,是一种计算机编程语言的名字 / 24
第2章
认识编程工具,了解VBA编程的步骤 25
第1节 VBE——编写VBA代码的地方 / 26
2.1.1 应该在哪里编写VBA过程 / 26
2.1.2 打开VBE窗口的几种常用方法 / 26
2.1.3 VBE窗口中都有什么 / 27
第2节 怎样在VBE中编写一个VBA过程 / 32
2.2.1 一个VBA过程就是完成一个任务所需代码的组合 / 32
2.2.2 实战演练,试写一个Sub过程 / 32
第3章
用VBA代码操作和控制Excel 36
第1节 操作Excel,就是在操作各种不同的对象 / 37
3.1.1 打个比方,使用VBA编程就像在厨房烧菜 / 37
3.1.2 对象,就是用VBA代码操作和控制的东西 / 37
第2节 引用对象,就是指明要操作的是哪个对象 / 38
3.2.1 集合,是对同类型对象的统称 / 39
3.2.2 区别集合中不同的对象 / 39
3.2.3 Excel中不同对象间的层次关系 / 41
3.2.4 指明某个对象在对象模型中的位置 / 44
3.2.5 正确引用对象,需要同时指明对象的位置及身份 / 45
3.2.6 引用对象,代码可以更简单 / 46
第3节 对象的属性与方法 / 46
3.3.1 对象的属性,就是对象包含的内容或具有的特征 / 46
3.3.2 对象的方法,就是可以在对象上执行的操作 / 47
3.3.3 怎样辨别方法和属性 / 48
第4节 用VBA代码操作工作簿对象 / 50
3.4.1 工作簿对象与工作簿集合 / 50
3.4.2 引用工作簿对象的两种方法 / 50
3.4.3 引用特殊的工作簿对象 / 51
3.4.4 打开一个现有的工作簿 / 52
3.4.5 关闭打开的工作簿 / 54
3.4.6 新建一个工作簿文件 / 55
3.4.7 保存对工作簿的修改 / 56
3.4.8 将工作簿另存为新文件 / 56
3.4.9 另存为新文件后不关闭原文件 / 56
3.4.10 将工作簿切换为活动工作簿 / 56
3.4.11 获取工作簿文件的信息 / 56
第5节 用VBA代码操作工作表对象 / 57
第6节 用VBA代码操作单元格对象 / 68
第7节 用VBA代码操作Excel应用程序 / 91
3.7.1 通过ScreenUpdating属性禁止更新屏幕上的内容 / 92
3.7.2 设置DisplayAlerts属性禁止显示警告对话框 / 94
3.7.3 通过WorksheetFunction属性使用工作表函数 / 95
3.7.4 更改Excel的程序界面 / 97
3.7.5 Application对象的子对象 / 98
第4章
VBA中常用的语句结构 100
第1节 这些简单的问题,你会用VBA解决吗 / 101
4.1.1 如果工作簿中没有名为“1月”的工作表,那么新建它 / 101
4.1.2 在A1:A100区域中写入1到100的自然数 / 101
4.1.3 删除工作簿中除活动工作表之外的所有工作表 / 102
第2节 用VBA解决判断和选择问题 / 103
第3节 让某部分代码重复执行多次 / 111
4.3.1 用For…Next语句循环执行同一段代码 / 111
4.3.2 用Do…Loop语句按条件控制循环次数 / 120
第4节 循环处理集合中的成员 / 123
4.4.1 将工作簿中所有工作表的名称写入单元格中 / 123
4.4.2 For Each…Next的语句结构 / 125
第5节 让过程转到另一行代码处继续执行 / 125
第6节 用With语句简化引用对象的代码 / 126
第5章
存储和计算VBA中的数据 128
第1节 VBA中的数据及数据类型 / 129
5.1.1 数据就是需要处理和计算的各种信息 / 129
5.1.2 数据类型,就是对同一类数据的统称 / 129
5.1.3 VBA将数据分为哪些类型 / 130
5.1.4 为什么要对数据进行分类 / 131
第2节 VBA中存储数据的容器:变量和常量 / 132
第3节 在过程中使用变量存储数据 / 133
第4节 特殊数据的专用容器——常量 / 145
5.4.1 常量就像一次性餐具,不能反复存储数据 / 145
5.4.2 声明常量,应同时给常量赋值 / 146
5.4.3 同变量一样,常量也有不同的作用域 / 146
第5节 特殊的变量——数组 / 146
第4节 使用UserForm对象设计交互界面 / 292
第5节 用VBA代码操作设计的窗体 / 296
8.5.1 显示用户窗体 / 296
8.5.2 设置窗体的显示位置 / 297
8.5.3 设置窗体的显示模式 / 299
8.5.4 关闭或隐藏已显示的窗体 / 300
第6节 UserForm对象的事件应用 / 301
8.6.1 借助Initialize事件初始化窗体 / 301
8.6.2 借助QueryClose事件让窗体自带的【关闭】按钮失效 / 303
8.6.3 UserForm对象的其他事件 / 305
第7节 编写代码,为窗体中的控件设置功能 / 306
8.7.1 为【确认输入】按钮添加事件过程 / 306
8.7.2 使用窗体输入数据 / 307
8.7.3 给【取消】按钮添加事件过程 / 308
第8节 为Excel文件制作一个简易的登录窗体 / 308
8.8.1 设计登录窗体的界面 / 308
8.8.2 设置初始用户名和密码 / 310
8.8.3 添加代码,为控件设置功能 / 311
第9章
调试与优化编写的代码 315
第1节 出错无法避免,关键是要弄清出错原因 / 316
9.1.1 VBA过程中可能会发生的三种错误 / 316
9.1.2 VBA程序的三种状态 / 318
9.1.3 什么状态容易发现过程中的错误 / 319
第2节 怎样让过程进入中断模式 / 319
第3节 检查变量的值,查找导致逻辑错误的原因 / 324
第4节 处理运行时错误,可能会用到这些语句 / 328
9.4.1 如果出错,让过程跳转到另一行代码处继续执行 / 329
9.4.2 如果出错,忽略出错行的代码继续执行 / 330
9.4.3 停止对过程中运行时错误的处理 / 330
第5节 养成好习惯,让代码跑得更快一些 / 333
附 录 你和VBA高手之间,还差一个“代码宝” / 340