标题：Excel VBA应用案例速查手册
图书信息
速查手册 
Excel VBA应用案例速查手册  起点文化 编著
ISBN 978-7-121-15230-6
2012年1月出版
定价：48.00元（含光盘1张）
16开
420页
内容简介
《Excel VBA应用案例速查手册》是Excel VBA入门的经典教材。全书共分17章，主要是以一些基础而简短的VBA实例来对Excel VBA中的常用对象及其属性和方法进行讲解，包括应用程序对象、窗口、工作簿、工作表、单元格和单元格区域、图表、数据透视表、形状、控件、格式化操作、文件操作等应用示例。这些例子都比较基础，很容易理解，因此很容易调试并得以实现，让您通过具体的实例来熟悉Excel VBA编程。本书在Excel 2010版本中操作编写，本书为每个应用范例设置了“范例说明”、“范例步骤”、“知识扩展”和“提示”等模块，既容易理解，又可以让读者在学习VBA理论知识与实践之外拓展知识面。
本书适合VBA入门者阅读，可以通过本书系统地学习VBA知识，也适合已有VBA基础，但需要扩展知识面的读者阅读，让自己的程序具有更好的通用性、纠错性及更高的执行效率。
前  言
Excel是一款市场占有率最高、使用范围最广的数据处理软件。这归功于它除了拥有强大的制表功能外，还提供二次开发平台，允许用户开发新工具，以完成Excel本身不具备的功能；或者通过VBA实现自动化，让某些功能全自动执行，大大提升工作效率。这使得Excel从众多制表软件中脱颖而出。
通过VBA进行二次开发，可以强化Excel的功能，将某些烦杂或者重复的日常工作简化，还可以开发商业插件或者小型财务系统等。可以说VBA已完全融入办公文员的日常工作，拥有VBA就等于拥有效率。
本书目的市场上也有大量的Excel VBA 的书籍，但大多侧重于讲述VBA 基本语法和理论应用。因此，笔者一直构思编写一套“以应用案例贯穿基本理论”、“以应用案例为主线”的介绍Excel VBA的图书。
在应用Excel VBA的过程中，笔者利用长达数年的时间，对Excel VBA的功能进行了系统的整理和归纳，将Excel VBA强大的功能和复杂的操作用简短、易学的范例展示给广大读者。对热衷于Excel的朋友，以及Excel VBA初学者快速了解和步入Excel VBA编程殿堂有所帮助。
本书结构《Excel VBA应用案例速查手册》是Excel VBA入门的经典教材。主要是以一些基础而简短的VBA实例来对Excel VBA中的常用对象及其属性和方法进行讲解，包括应用程序对象、窗口、工作簿、工作表、单元格和单元格区域、图表、数据透视表、形状、控件、格式化操作、文件操作等应用示例。这些例子都比较基础，很容易理解，因此很容易调试并得以实现，让您通过具体的实例来熟悉Excel VBA编程。
全书共分17章，大体可分为以下4部分。
第一部分：Excel VBA基本语法（包括第1～2章）
第二部分：Excel VBA对象模型应用（包括第3～13章）
第三部分：界面设计（包括第14章）
第四部分：高级应用（包括第15～17章）
本书特点（1）本书中所有的应用范例都是在Excel 2010（VBA 7.0）环境下进行操作并介绍的。
（2）为了最大限度地提升读者的知识面，本书在通过应用范例介绍基本语法的同时，提供了数百个“知识扩展”模块，从而让读者在学习VBA 理论知识与实践之外，可以拓展知识面，解除心中疑惑。
（3）本书中的应用范例图文并茂，图片中使用桔黄色方框为操作节点进行重点提示，使读者更易掌握和理解。
（4）本书中设置了“提示”模块，以提醒读者在操作过程中的注意事项。
（5）使用表格扩展知识面。在书中不可能对所有的知识点都进行介绍，一些文中涉及但又不太常用的对象，使用表格对其属性、方法和事件做了简要介绍。
（6）本书附送光盘中包含范例文件，读者可方便地对其进行操作和学习。
适合读者本书提供了大量的范例，对VBA 的基础理论有比较详尽的介绍。另外，对VBA的高级知识——数组、类模块、API等也有大量的理论阐述与范例演示。
本书适合的读者包括三类：
VBA入门者，可以通过本书系统地学习VBA知识。
已有VBA基础，但需要扩充知识面的读者，让自己的程序具有更好的通用性、纠错性及更高的执行效率。本书对程序的优化、纠错等方面进行了大量的论证。
数年的时间和应用经验造就了本书。但由于作者水平有限，纰漏之处在所难免。恳请大家多提宝贵意见。
编者
目  录
第一部分  Excel VBA基本语法
第一章  宏与VBA1
第一节  宏1
范例1-1-1   显示和隐藏“开发工具”选项卡1
范例1-1-2   设计图书卡2
范例1-1-3   把宏指定到图片4
第一节  宏2
范例1-1-1   显示和隐藏“开发工具”选项卡2
范例1-1-2   设计图书卡3
范例1-1-3   把宏指定到图片4
范例1-1-4   把宏保存到文件5
范例1-1-5   删除宏7
范例1-1-6   对宏安全性进行设置8
第二节  VBA10
范例1-2-1   打开VBE11
范例1-2-2   从VBE返回Excel12
范例1-2-3   通过工程资源管理器插入一个宏模块13
范例1-2-4   通过工程资源管理器删除一个宏模块15
范例1-2-5   为宏代码加密15
范例1-2-6   向标准工具栏中添加立即窗口命令16
范例1-2-7   在VBA中对宏进行编辑优化17
第二章  语法入门19
第一节  面向对象的程序设计20
范例2-1-1   创建一个类模块20
范例2-1-2   根据存在的类创建对象22
范例2-1-3   在对象浏览器中查看类及对象24
范例2-1-4   设置窗体尺寸及位置26
范例2-1-5   使用代码关闭当前工作簿26
第二节  数据与数据类型27
范例2-2-1   为变量和常量命名27
范例2-2-2   声明变量27
范例2-2-3   数据类型28
范例2-2-4   用户自定义类型29
范例2-2-5   强制声明变量30
范例2-2-6   使用变量31
范例2-2-7   使用局部变量31
范例2-2-8   使用全局变量32
范例2-2-9   对象变量的使用32
范例2-2-10   自定义常量的使用33
范例2-2-11   内置常量的使用34
范例2-2-12   使用一维数组35
第三节  运算符与表达式36
范例2-3-1   算术运算符及表达式36
范例2-3-2   比较运算符及表达式37
范例2-3-3   字符串运算符及表达式37
范例2-3-4   逻辑运算符及表达式37
范例2-3-5   引用运算符及表达式38
范例2-3-6   其他运算符及表达式38
第四节  语句基础40
范例2-4-1   使用MsgBox函数输出40
范例2-4-2   使用InputBox函数输入42
范例2-4-3   If…Then语句43
范例2-4-4   If…Then…Else语句43
范例2-4-5   阶梯电价的计算43
范例2-4-6   企业信用等级的判定44
范例2-4-7   使用While…Wend计算从1到100的累加值46
范例2-4-8   使用Do…Loop计算从1到100的累加值47
范例2-4-9   使用For…Next计算从1到100的累加值48
范例2-4-10   计算所选工作表区域之和49
范例2-4-11   使用嵌套循环解决数学问题50
范例2-4-12   使用On Error进行错误处理51
范例2-4-13   使用Resume语句进行错误处理53
第五节  过程与函数55
范例2-5-1   调用具有多个参数的 Sub 过程56
范例2-5-2   调用Fuction过程56
范例2-5-3   在Fuction过程中使用可选参数57
范例2-5-4   在Fuction过程中使用不定参数57
范例2-5-5   自定义工作表函数58
范例2-5-6   使用VBA的内置函数59
第二部分  Excel VBA对象模型应用
第三章  应用程序操作62
第一节  Application属性操作63
范例3-1-1   显示活动打印机的名称63
范例3-1-2   调用“另存为”对话框63
范例3-1-3   检查并显示编辑栏64
范例3-1-4   显示或隐藏整个Excel的滚动条65
范例3-1-5   设置Excel窗口的大小和位置66
范例3-1-6   设置Excel为全屏模式66
范例3-1-7   检查并隐藏Excel应用67
范例3-1-8   返回窗口状态，并根据需要设置是否最小化68
范例3-1-9   在VBA中使用工作表函数69
第二节  Application对象的方法操作71
范例3-2-1   使用“打开”对话框打开文件71
范例3-2-2   与其他应用程序通信71
范例3-2-3   为宏程序指定快捷键74
范例3-2-4   30秒后运行指定过程75
范例3-2-5   退出Excel77
第四章  窗口应用78
第一节  Window(s)属性操作79
范例4-1-1   修改并获取当前窗口的标题79
范例4-1-2   显示单元格中的公式80
范例4-1-3   显示和设置工作表中的网格线81
范例4-1-4   显示和隐藏工作表标签83
范例4-1-5   根据用户要求调整窗口显示比例84
范例4-1-6   自定义窗口84
范例4-1-7   隐藏窗口中的零值85
范例4-1-8   选择合适的视图方式86
第二节  Window对象的方法操作89
范例4-2-1   保存并关闭工作簿窗口89
第五章  工作簿应用91
第一节  Workbook属性操作92
范例5-1-1   删除工作簿中所有的图表工作表92
范例5-1-2   设置共享工作簿为自动更新93
范例5-1-3   保存共享工作簿的历史版本94
范例5-1-4   在共享工作簿中启动修订功能95
范例5-1-5   隐藏工作簿中的所有图形96
范例5-1-6   显示工作簿名称97
范例5-1-7   检查工作簿中是否存在宏项目98
范例5-1-8   检查工作簿是否以只读方式打开98
范例5-1-9   检查工作簿是否建议以只读方式打开99
范例5-1-10   检查工作簿保存后是否发生过修改100
范例5-1-11   显示工作簿中第一个工作表的名称101
范例5-1-12   检查工作簿的自动恢复功能102
范例5-1-13   取得当前打开的工作簿数103
范例5-1-14   为工作簿设置打开密码103
范例5-1-15   检查工作簿是否有保护104
范例5-1-16   检查并保护工作簿106
范例5-1-17   为工作簿设置写保护密码106
第二节  Workbook对象的方法操作108
范例5-2-1   激活工作簿108
范例5-2-2   将主题应用到工作簿108
范例5-2-3   通过ChangeFileAccess方法设置工作簿权限110
范例5-2-4   Excel服务器应用111
范例5-2-5   不保存退出Excel112
范例5-2-6   打印当前工作簿中的前3页113
范例5-2-7   保护当前工作簿114
范例5-2-8   禁止指定用户与共享工作簿的连接115
范例5-2-9   保存当前工作簿中的更改116
范例5-2-10   另保存当前工作簿中的更改117
范例5-2-11   将当前工作簿以副本保存118
范例5-2-12   取消工作簿保护119
范例5-2-13   新建工作簿120
范例5-2-14   打开工作簿120
范例5-2-15   关闭工作簿121
第三节  Workbook(s)对象的事件操作123
范例5-3-1   保存成功后提示123
范例5-3-2   保存前确认是否保存125
范例5-3-3   在工作簿中创建图表时提示125
范例5-3-4   新建工作表后提示工作表数量126
范例5-3-5   打开工作簿时提示工作簿名称127
第六章  工作表应用128
第一节  Worksheet属性操作130
范例6-1-1   删除工作簿中所有的图表工作表130
范例6-1-2   删除当前工作表中的所有批注131
范例6-1-3   隐藏除第一个工作表外的其他工作表132
范例6-1-4   创建目录工作表132
范例6-1-5   删除工作表中的空行134
范例6-1-6   限制工作表的滚动区域135
范例6-1-7   保护工作表135
范例6-1-8   页面设置137
第二节  Worksheet对象的方法操作141
范例6-2-1   选择工作表141
范例6-2-2   激活工作表142
范例6-2-3   把工作表复制到指定位置143
范例6-2-4   删除空工作表144
范例6-2-5   将工作表导出为PDF文档145
范例6-2-6   在现有工作表之后插入工作表146
范例6-2-7   将当前工作表移动到其他工作簿147
范例6-2-8   复制工作表中的内容数据148
范例6-2-9   向工作表中粘贴网页中的文字149
范例6-2-10   建立数据透视表150
范例6-2-11   为工作表设置背景152
第三节  Worksheet(s)对象的事件操作153
范例6-3-1   验证后编辑工作簿153
范例6-3-2   改变更改内容的颜色和字体155
范例6-3-3   在工作簿中创建图表时提示156
范例6-3-4   快速输入默认值156
第七章  单元格应用158
第一节  Range对象的属性操作161
范例7-1-1   设置单元格对齐方式161
范例7-1-2   自动向下行添加当前日期162
范例7-1-3   为所选单元格设置行高和列宽164
范例7-1-4   当选择范围发生改变时返回高度和宽度165
范例7-1-5   选区发生变化时提示行数、列数和单元格数166
范例7-1-6   突出显示特定内容166
范例7-1-7   查看隐藏的行168
范例7-1-8   设置单元格数字格式168
第二节  Range对象的方法操作169
范例7-2-1   当工作表被激活时自动填充数据169
范例7-2-2   根据内容自动调整行高、列宽171
范例7-2-3   查看数据清单中符合特定条件的记录172
范例7-2-4   为单元格设置边框173
范例7-2-5   保存前清空临时工作表174
范例7-2-6   清空工作表中的超链接175
范例7-2-7   复制单元格数据176
范例7-2-8   删除单元格178
范例7-2-9   向区域内填充相同数据179
范例7-2-10   查找并修改特定记录的数据180
范例7-2-11   删除数据清单中的重复行182
范例7-2-12   创建分类汇总183
范例7-2-13   对选区数据排序185
范例7-2-14   跨行合并单元格186
范例7-2-15   替换单元格中的数据188
第八章  图表应用190
第一节  图表基本操作192
范例8-1-1   创建图表192
范例8-1-2   设置图表区格式194
范例8-1-3   修改图表类型195
范例8-1-4   图表没有模拟运算表时添加模拟运算表196
范例8-1-5   图表中无坐标轴时显示坐标轴198
范例8-1-6   显示图表标题并设置199
范例8-1-7   检查和显示图例202
范例8-1-8   显示和隐藏图表204
范例8-1-9   显示各图表的名称205
范例8-1-10   重新设置图表的数据源区域205
范例8-1-11   复制和粘贴图表207
范例8-1-12   激活并删除图表207
范例8-1-13   在原位置复制图表208
范例8-1-14   图表被激活时提示209
范例8-1-15   提示选择的元素210
第二节  迷你图应用212
范例8-2-1   创建迷你图212
范例8-2-2   更改迷你图的数据源区域213
范例8-2-3   更改迷你图的位置215
范例8-2-4   同时改变迷你图的数据源和位置216
范例8-2-5   删除迷你图（组）217
范例8-2-6   更改迷你图的类型218
范例8-2-7   设置折线亮度220
范例8-2-8   突出显示折线图中的标记点221
第九章  图形应用223
第一节  图形的属性操作224
范例9-1-1   替换自选图形的类型224
范例9-1-2   为图形设置填充颜色226
范例9-1-3   设置图形边框颜色227
范例9-1-4   为图形指定宏229
范例9-1-5   使用内置样式格式化图形230
范例9-1-6   统计工作表中的图形数量232
范例9-1-7   设置图形中的文本233
范例9-1-8   设置部分图形的格式235
第二节  图形对象的方法操作237
范例9-2-1   在工作表中创建图形237
范例9-2-2   在工作表中创建文本框238
范例9-2-3   在工作表中创建艺术字240
范例9-2-4   删除工作表中的单个图形241
范例9-2-5   删除工作表中的多个图形242
第十章  超链接与批注243
第一节  超链接操作245
范例10-1-1   创建超链接245
范例10-1-2   统计超链接的数量246
范例10-1-3   清除全部超链接247
范例10-1-4   显示工作表中超链接指向的地址248
第二节  批注操作250
范例10-2-1   统计并显示工作表中的批注数量250
范例10-2-2   显示工作表中所有批注的作者250
范例10-2-3   隐藏奇数批注251
范例10-2-4   改变批注的形状并设置格式252
范例10-2-5   插入批注并设置文本253
第十一章  筛选和排序255
第一节  自动筛选257
范例11-1-1   在指定区域建立自动筛选257
范例11-1-2   检查自动筛选是否开启259
范例11-1-3   筛选同时满足多个条件的数据260
范例11-1-4   筛选满足多个条件中任一条件的数据261
范例11-1-5   显示高于平均值的记录262
范例11-1-6   筛选曾作过颜色标记的记录263
范例11-1-7   筛选姓名为两个汉字并且姓“王”学员的记录264
范例11-1-8   筛选不姓“王”且姓名为两个汉字学员的记录265
范例11-1-9   清除筛选条件266
第二节  高级筛选267
范例11-2-1   在其他位置显示某工作单位学员记录267
范例11-2-2   筛选“李”姓三字姓名的学员记录269
范例11-2-3   筛选姓“李”或姓“吴”的学员记录270
第三节  排序271
范例11-3-1   根据数值大小排序271
范例11-3-2   按字母顺序排列姓名273
范例11-3-3   排序时区分大小写274
范例11-3-4   数据清单中部分排序275
范例11-3-5   按行排序277
范例11-3-6   将默认颜色排到最前面278
范例11-3-7   对多个字段进行排序279
第十二章  条件格式282
第一节  条件格式对象的方法操作284
范例12-1-1   突出显示较大值284
范例12-1-2   突出显示总分在200～240之间的数据286
范例12-1-3   突出显示姓名中包括“王”的数据287
范例12-1-4   突出显示总分前10名的数据288
范例12-1-5   突出显示总分高于平均值的数据289
范例12-1-6   将总分显示为数据条290
范例12-1-7   使用色阶显示总分数据292
范例12-1-8   使用图标集显示总分数据293
范例12-1-9   清除条件格式294
范例12-1-10   加粗显示总分在260分以上的姓名295
范例12-1-11   填充总分在265分以上记录所在的行为灰色296
范例12-1-12   提升第二个条件格式的优先级297
第二节  条件格式对象的属性操作299
范例12-2-1   显示工作表中的条件格式数量299
范例12-2-2   将单科成绩在95分以上的成绩加网格300
范例12-2-3   将单科成绩95分以上的成绩加图案302
范例12-2-4   给重复值加上虚框303
范例12-2-5   更改条件格式的应用范围304
范例12-2-6   修改条件格式中符合条件的填充颜色305
第十三章  外部数据与数据工具307
第一节  外部数据操作309
范例13-1-1   从其他Excel工作簿中获取数据（1）309
范例13-1-2   统计并提示查询表的数量311
范例13-1-3   获取文本文件的数据312
范例13-1-4   获取网络上的数据314
范例13-1-5   从网页上导入指定表格内容315
范例13-1-6   从其他Excel工作簿中获取数据（2）317
范例13-1-7   删除分析表与数据源的连接320
第二节  数据工具操作322
范例13-2-1   将一列的数据分为两列322
范例13-2-2   删除重复行324
范例13-2-3   为选定区域创建下拉列表325
范例13-2-4   控制输入字符长度328
范例13-2-5   对字符长度有两种要求329
范例13-2-6   圈释无效成绩331
范例13-2-7   清除无效成绩标识圈333
第三部分  界面设计
第十四章  窗体控件334
第一节  窗体控件基本操作335
范例14-1-1   创建窗体335
范例14-1-2   设置窗体属性336
范例14-1-3   向窗体中添加控件337
范例14-1-4   设置组合框属性339
范例14-1-5   为文本框设置密码隐藏显示340
范例14-1-6   设置按钮控件属性341
范例14-1-7   向工具箱中添加控件342
范例14-1-8   显示窗体343
第二节  窗体事件程序设计345
范例14-2-1   窗体初始化时隐藏数据工作表345
范例14-2-2   当密码输入文本框内存在内容时“确定”按钮方可
操作346
范例14-2-3   单击“取消”按钮关闭窗体347
范例14-2-4   单击“确定”按钮检测用户密码348
范例14-2-5   打开工作簿时自动显示窗体350
范例14-2-6   创建数据输入窗体351
范例14-2-7   禁用窗体的 按钮354
范例14-2-8   计算滞纳金356
第四部分  高级应用
第十五章  数据库操作358
第一节  使用DAO对象操作数据库359
范例15-1-1   利用DAO创建与数据库的连接359
范例15-1-2   查询字段信息360
范例15-1-3   创建数据库361
范例15-1-4   向数据库中添加表362
范例15-1-5   向数据库中添加数据信息363
范例15-1-6   修改数据库365
范例15-1-7   删除数据库中的数据367
第二节  使用ADO对象操作数据库371
范例15-2-1   连接数据库371
范例15-2-2   向数据库中添加数据372
范例15-2-3   把数据库导入到Excel中373
范例15-2-4   快速获取ADO连接字符串375
第十六章  文件系统操作378
第一节  使用命令操作文件379
范例16-1-1   重命名文件379
范例16-1-2   在不打开工作簿的情况下，在不同的工作簿之间
复制数据381
范例16-1-3   删除当前文件夹下大小为0的文件383
范例16-1-4   向文本文件中写入数据386
范例16-1-5   向文本文件中写入当前日期388
范例16-1-6   关闭所有打开的文件389
范例16-1-7   利用文本文件中的数据验证密码390
第二节  使用VBA对象操作文件393
范例16-2-1   显示文件所在的磁盘394
范例16-2-2   显示磁盘信息394
范例16-2-3   创建磁盘文件395
范例16-2-4   判断文件是否存在396
范例16-2-5   向文本文件中添加信息396
第十七章  其他应用398
第一节  API函数应用399
范例17-1-1   获取屏幕高度和宽度399
第二节  Office组件协作402
范例17-2-1   新建Word文档402
范例17-2-2   打开Word文档403