中文版Excel 2016高级VBA编程宝典(第8版)
出版时间:2017
内容简介
借助VBA成为Excel高级用户
学习运用VBA语言的强大功能,将自己的Excel技能提升到全新水平!综合性指南 中文版Excel 2016高级VBA编程宝典(第8版) 将帮助你实现数据处理自动化,并开发出功能完备的Excel程序。本书针对Excel最新版本做了全面更新,内容新颖,助你开发大型和小型Excel应用。
本书直抒主题,以读者为中心,摒弃华而不实的、冗长的解释,呈现紧贴实用的示例、注意事项和诀窍,提供大量代码和示例模板,助你从普通数据分析人员蜕变为Excel编程专家。
目录
第Ⅰ部分Excel VBA基础知识
第1章电子表格应用开发入门3
1.1关于电子表格应用3
1.2应用开发的步骤4
1.3确定用户的需求4
1.4对满足这些需求的应用进行规划5
1.5确定最适用的用户界面6
1.5.1自定义功能区7
1.5.2自定义快捷菜单7
1.5.3创建快捷键7
1.5.4创建自定义对话框8
1.5.5在工作表中使用ActiveX控件8
1.5.6开始开发工作10
1.6关注最终用户10
1.6.1测试应用10
1.6.2应用的安全问题11
1.6.3如何让应用程序看起来更简明美观13
1.6.4创建用户帮助系统13
1.6.5将开发成果归档14
1.6.6给用户发布应用程序14
1.6.7在必要时对应用进行更新14
1.7其他开发问题14
1.7.1用户安装的Excel版本15
1.7.2语言问题15
1.7.3系统速度15
1.7.4显示模式15
第2章VBA概述17
2.1宏录制器17
2.1.1创建你的第一个宏17
2.1.2比较宏录制的绝对模式和相对模式20
2.1.3关于宏录制的其他概念24
2.2Visual Basic编辑器概述28
2.2.1了解VBE组件28
2.2.2使用工程资源管理器29
2.2.3使用代码窗口31
2.2.4自定义VBA环境33
2.2.5“编辑器格式”选项卡34
2.2.6“通用”选项卡35
2.2.7“可连接的”选项卡35
2.3VBA的基础知识36
2.3.1了解对象36
2.3.2了解集合37
2.3.3了解属性37
2.4使用Range对象40
2.4.1找到Range对象的属性41
2.4.2Range属性41
2.4.3Cells属性42
2.4.4Offset属性44
2.5需要记住的基本概念45
2.6学习更多信息46
2.6.1阅读本书剩余的章节47
2.6.2让Excel来帮助编写宏47
2.6.3使用帮助系统47
2.6.4使用对象浏览器47
2.6.5从网上获取48
2.6.6利用用户论坛49
2.6.7访问专家博客49
2.6.8通过You Tube查找视频50
2.6.9通过Microsoft OfficeDev Center获取信息50
2.6.10解析其他的Excel文件50
2.6.11咨询周围的Excel人才50
第3章VBA编程基础51
3.1VBA语言元素概览51
3.2注释53
3.3变量、数据类型和常量54
3.3.1定义数据类型55
3.3.2声明变量56
3.3.3变量的作用域58
3.3.4使用常量61
3.3.5使用字符串62
3.3.6使用日期62
3.4赋值语句63
3.5数组65
3.5.1声明数组66
3.5.2声明多维数组66
3.5.3声明动态数组66
3.6对象变量67
3.7用户自定义的数据类型68
3.8内置函数69
3.9处理对象和集合71
3.9.1With—End With结构72
3.9.2For Each—Next结构72
3.10控制代码的执行74
3.10.1GoTo语句74
3.10.2If—Then结构75
3.10.3Select Case结构78
3.10.4指令块的循环82
第4章VBA的子过程89
4.1关于过程89
4.1.1子过程的声明90
4.1.2过程的作用域90
4.2执行子过程91
4.2.1通过“运行子过程/用户窗体”命令执行过程92
4.2.2从“宏”对话框执行过程92
4.2.3用Ctrl+快捷键组合执行过程93
4.2.4从功能区执行过程94
4.2.5从自定义快捷菜单中执行过程94
4.2.6从另一个过程中执行过程95
4.2.7通过单击对象执行过程98
4.2.8在事件发生时执行过程99
4.2.9从“立即窗口”执行过程100
4.3向过程中传递参数100
4.4错误处理技术103
4.4.1捕获错误104
4.4.2错误处理示例105
4.5使用子过程的实际示例108
4.5.1目标108
4.5.2工程需求108
4.5.3已经了解的信息108
4.5.4解决方法109
4.5.5初步的录制工作109
4.5.6初始设置111
4.5.7代码的编写112
4.5.8排序过程的编写112
4.5.9更多测试116
4.5.10修复问题117
4.5.11实用程序的可用性120
4.5.12对工程进行评估121
第5章创建函数过程123
5.1子过程与函数过程的比较123
5.2为什么创建自定义的函数124
5.3自定义函数示例124
5.3.1在工作表中使用函数125
5.3.2在VBA过程中使用函数125
5.3.3分析自定义函数126
5.4函数过程128
5.4.1函数的作用域129
5.4.2执行函数过程129
5.5函数过程的参数131
5.6函数示例132
5.6.1无参数的函数132
5.6.2带有一个参数的函数134
5.6.3带有两个参数的函数136
5.6.4使用数组作为参数的函数137
5.6.5带有可选参数的函数138
5.6.6返回VBA数组的函数140
5.6.7返回错误值的函数142
5.6.8带有不定数量参数的函数144
5.7模拟Excel的SUM函数145
5.8扩展后的日期函数148
5.9函数的调试149
5.10使用“插入函数”对话框150
5.10.1使用MacroOptions方法151
5.10.2指定函数类别152
5.10.3手动添加函数说明153
5.11使用加载项存储自定义函数154
5.12使用Windows API154
5.12.1Windows API示例155
5.12.2确定Windows目录155
5.12.3检测Shift键157
5.12.4了解有关API函数的更多信息158
第6章了解Excel事件159
6.1Excel可以监视的事件类型159
6.1.1了解事件发生的顺序160
6.1.2存放事件处理程序的位置160
6.1.3禁用事件161
6.1.4输入事件处理代码162
6.1.5使用参数的事件处理程序163
6.2工作簿级别的事件165
6.2.1Open事件165
6.2.2Activate事件166
6.2.3SheetActivate事件166
6.2.4NewSheet事件167
6.2.5BeforeSave事件167
6.2.6Deactivate事件167
6.2.7BeforePrint事件168
6.2.8BeforeClose事件169
6.3检查工作表事件171
6.3.1Change事件171
6.3.2监视特定单元格区域的修改172
6.3.3SelectionChange事件177
6.3.4BeforeDoubleClick事件177
6.3.5BeforeRightClick事件178
6.4监视应用程序事件179
6.4.1启用应用程序级别的事件180
6.4.2确定工作簿何时被打开180
6.4.3监视应用程序级别的事件181
6.5访问与对象无关联的事件182
6.5.1OnTime事件182
6.5.2OnKey事件184
第7章VBA编程示例与技巧189
7.1通过示例学习189
7.2处理单元格区域190
7.2.1复制单元格区域190
7.2.2移动单元格区域191
7.2.3复制大小可变的单元格区域191
7.2.4选中或者识别各种类型的单元格区域193
7.2.5调整单元格区域大小194
7.2.6提示输入单元格中的值195
7.2.7在下一个空单元格中输入一个值196
7.2.8暂停宏的运行以便获得用户选中的单元格区域197
7.2.9计算选中单元格的数目199
7.2.10确定选中的单元格区域的类型199
7.2.11有效地循环遍历选中的单元格区域201
7.2.12删除所有空行204
7.2.13任意次数地复制行205
7.2.14确定单元格区域是否包含在另一个单元格区域内206
7.2.15确定单元格的数据类型207
7.2.16读写单元格区域208
7.2.17在单元格区域中写入值的更好方法209
7.2.18传递一维数组中的内容211
7.2.19将单元格区域传递给Variant类型的数组211
7.2.20按数值选择单元格212
7.2.21复制非连续的单元格区域213
7.3处理工作簿和工作表215
7.3.1保存所有工作簿215
7.3.2保存和关闭所有工作簿216
7.3.3隐藏除选区之外的区域216
7.3.4创建超链接内容表217
7.3.5同步工作表218
7.4VBA技巧219
7.4.1切换布尔类型的属性值219
7.4.2显示日期和时间220
7.4.3显示友好时间222
7.4.4获得字体列表223
7.4.5对数组进行排序224
7.4.6处理一系列文件225
7.5用于代码中的一些有用函数227
7.5.1FileExists函数227
7.5.2FileNameOnly函数227
7.5.3PathExists函数228
7.5.4RangeNameExists函数228
7.5.5SheetExists函数229
7.5.6WorkbookIsOpen函数229
7.5.7检索已经关闭的工作簿中的值230
7.6一些有用的工作表函数231
7.6.1返回单元格的格式信息232
7.6.2会说话的工作表233
7.6.3显示保存或打印文件的时间233
7.6.4理解对象的父对象234
7.6.5计算介于两个值之间的单元格数目235
7.6.6确定行或列中最后一个非空的单元格236
7.6.7字符串与模式匹配237
7.6.8从字符串中提取第n个元素238
7.6.9拼写出数字239
7.6.10多功能函数240
7.6.11SHEETOFFSET函数240
7.6.12返回所有工作表中的最大值241
7.6.13返回没有重复随机整数元素的数组242
7.6.14随机化单元格区域244
7.6.15对单元格区域进行排序245
7.7Windows API调用246
7.7.1理解API声明246
7.7.2确定文件的关联性247
7.7.3确定默认打印机的信息248
7.7.4确定视频显示器的信息249
7.7.5读写注册表250
……
第Ⅱ部分高级VBA技术
第Ⅲ部分操作用户窗体
第Ⅳ部分开发Excel应用程序
第Ⅴ部分附录