新書推薦:
《
非言语沟通经典入门:影响人际交往的重要力量(第7版)
》
售價:NT$
560.0
《
山西寺观艺术壁画精编卷
》
售價:NT$
7650.0
《
中国摄影 中式摄影的独特魅力
》
售價:NT$
4998.0
《
山西寺观艺术彩塑精编卷
》
售價:NT$
7650.0
《
积极心理学
》
售價:NT$
254.0
《
自由,不是放纵
》
售價:NT$
250.0
《
甲骨文丛书·消逝的光明:欧洲国际史,1919—1933年(套装全2册)
》
售價:NT$
1265.0
《
剑桥日本戏剧史(剑桥世界戏剧史译丛)
》
售價:NT$
918.0
編輯推薦:
借助VBA成为Excel高级用户
利用VBA语言的卓越功能,将自己的Excel技能提升到全新水平。《中文版Excel 2019高级VBA编程宝典第9版》是一本综合性指南,帮助读者进行自动化数据处理,开发功能齐全的Excel应用。本书针对Excel 2019做了全面更新,是独一无二的资源;无论你开发大型还是小型Excel应用,本书都将为你提供所需的一切内容。
本书以读者为中心,选材精当,直抒主题,摒弃华而不实的、冗长的解释,为你开始学习提供所需的提示、技巧和实际范例包括所有代码和范例模板,助你从普通数据分析人员华丽蜕变为Excel编程专家。
內容簡介:
● 记录简单的宏以及执行其他相关操作 ● 动态操作工作簿和工作表 ● 自动生成透视表和图表? ● 管理外部数据和外部文件 ● 从Excel直接发送邮件 ● 创建自定义Excel功能区界面 ● 开发和发布自定义的Excel加载项
關於作者:
Michael Alexander是一名微软认证应用程序开发人员MCAD,著有Microsoft Access和 Microsoft Excel高级业务分析的相关书籍。他在咨询和开发Microsoft Office解决方案方面拥有超过20年的经验。Michael因对Excel社区的持续贡献而被评为Microsoft MVP。可以通过www.datapigtechnologies.com网站与他取得联系。
Dick Kusleika是12次Microsoft Excel MVP,与Microsoft Office合作超过20年。Dick为客户开发基于Access和Excel的解决方案,并在美国和澳大利亚举办了Office产品培训研讨会。Dick还在www.dailydoseofexcel.com上撰写与Excel相关的博客。
目錄 :
目录
第 I 部分 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 开始开发工作9
1.6 关注最终用户10
1.6.1 测试应用10
1.6.2 应用的安全问题11
1.6.3 如何让应用程序看起来更简明美观12
1.6.4 创建用户帮助系统12
1.6.5 将开发成果归档13
1.6.6 给用户发布应用程序13
1.6.7 在必要时对应用进行更新13
1.7 其他开发问题14
1.7.1 用户安装的Excel版本14
1.7.2 语言问题14
1.7.3 系统速度14
1.7.4 显示模式15
第2章 VBA概述16
2.1 宏录制器16
2.1.1 创建你的第一个宏16
2.1.2 比较宏录制的绝对模式和相对模式19
2.1.3 关于宏录制的其他概念22
2.2 Visual Basic编辑器概述26
2.2.1 了解VBE组件26
2.2.2 使用工程资源管理器27
2.2.3 使用代码窗口29
2.2.4 自定义VBA环境31
2.2.5 编辑器格式选项卡32
2.2.6 通用选项卡33
2.2.7 可连接的选项卡33
2.3 VBA的基础知识34
2.3.1 了解对象34
2.3.2 了解集合35
2.3.3 了解属性35
2.3.4 了解方法37
2.4 使用Range对象38
2.4.1 找到Range对象的属性39
2.4.2 Range属性39
2.4.3 Cells属性40
2.4.4 Offset属性42
2.5 需要记住的基本概念43
2.6 学习更多信息44
2.6.1 阅读本书剩余的章节44
2.6.2 让Excel来帮助编写宏45
2.6.3 使用帮助系统45
2.6.4 使用对象浏览器45
2.6.5 从网上获取46
2.6.6 利用用户论坛47
2.6.7 访问专家博客47
2.6.8 通过YouTube查找视频48
2.6.9 通过Microsoft Office Dev Center获取信息48
2.6.10 解析其他的Excel文件48
2.6.11 咨询周围的Excel人才48
第3章 VBA编程基础49
3.1 VBA语言元素概览49
3.2 注释51
3.3 变量、数据类型和常量52
3.3.1 定义数据类型53
3.3.2 声明变量54
3.3.3 变量的作用域56
3.3.4 使用常量58
3.3.5 使用字符串60
3.3.6 使用日期60
3.4 赋值语句61
3.5 数组63
3.5.1 声明数组63
3.5.2 声明多维数组64
3.5.3 声明动态数组64
3.6 对象变量64
3.7 用户自定义的数据类型66
3.8 内置函数66
3.9 处理对象和集合69
3.9.1 With-End With结构69
3.9.2 For Each-Next结构70
3.10 控制代码的执行71
3.10.1 GoTo语句72
3.10.2 If-Then结构72
3.10.3 Select Case结构76
3.10.4 指令块的循环79
第4章 VBA的子过程86
4.1 关于过程86
4.1.1 子过程的声明87
4.1.2 过程的作用域88
4.2 执行子过程89
4.2.1 通过运行子过程用户窗体命令执行过程89
4.2.2 从宏对话框执行过程89
4.2.3 用Ctrl 快捷键组合执行过程90
4.2.4 从功能区执行过程91
4.2.5 从自定义快捷菜单中执行过程91
4.2.6 从另一个过程中执行过程91
4.2.7 通过单击对象执行过程95
4.2.8 在事件发生时执行过程96
4.2.9 从立即窗口执行过程97
4.3 向过程中传递参数97
4.4 错误处理技术100
4.4.1 捕获错误101
4.4.2 错误处理示例102
4.5 使用子过程的实际示例104
4.5.1 目标104
4.5.2 工程需求105
4.5.3 已经了解的信息105
4.5.4 解决方法105
4.5.5 初步的录制工作106
4.5.6 初始设置107
4.5.7 代码的编写108
4.5.8 排序过程的编写109
4.5.9 更多测试113
4.5.10 修复问题113
4.6 实用程序的可用性116
4.7 对工程进行评估117
第5章 创建函数过程118
5.1 子过程与函数过程的比较118
5.2 为什么创建自定义的函数119
5.3 自定义函数示例119
5.3.1 在工作表中使用函数119
5.3.2 在VBA过程中使用函数120
5.3.3 分析自定义函数121
5.4 函数过程122
5.4.1 函数的作用域123
5.4.2 执行函数过程124
5.5 函数过程的参数126
5.6 函数示例126
5.6.1 无参数的函数126
5.6.2 带有一个参数的函数128
5.6.3 带有两个参数的函数131
5.6.4 使用数组作为参数的函数132
5.6.5 带有可选参数的函数133
5.6.6 返回VBA数组的函数134
5.6.7 返回错误值的函数136
5.6.8 带有不定数量参数的函数138
5.7 模拟Excel的SUM函数139
5.8 扩展后的日期函数142
5.9 函数的调试143
5.10 使用插入函数对话框144
5.10.1 使用MacroOptions方法144
5.10.2 指定函数类别146
5.10.3 手动添加函数说明147
5.11 使用加载项存储自定义函数148
5.12 使用Windows API148
5.12.1 Windows API示例149
5.12.2 确定Windows目录149
5.12.3 检测Shift键150
5.12.4 了解有关API函数的更多信息151
第6章 了解Excel事件152
6.1 Excel可以监视的事件类型152
6.1.1 了解事件发生的顺序153
6.1.2 存放事件处理程序的位置153
6.1.3 禁用事件154
6.1.4 输入事件处理代码155
6.1.5 使用参数的事件处理程序156
6.2 工作簿级别的事件157
6.2.1 Open事件158
6.2.2 Activate事件159
6.2.3 SheetActivate事件159
6.2.4 NewSheet事件159
6.2.5 BeforeSave事件160
6.2.6 Deactivate事件160
6.2.7 BeforePrint事件160
6.2.8 BeforeClose事件162
6.3 检查工作表事件163
6.3.1 Change事件164
6.3.2 监视特定单元格区域的修改165
6.3.3 SelectionChange事件169
6.3.4 BeforeDoubleClick事件170
6.3.5 BeforeRightClick事件170
6.4 监视应用程序事件171
6.4.1 启用应用程序级别的事件172
6.4.2 确定工作簿何时被打开173
6.4.3 监视应用程序级别的事件174
6.4.4 访问与对象无关联的事件174
6.4.5 OnTime事件174
6.4.6 OnKey事件176
第7章 VBA编程示例与技巧179
7.1 通过示例学习179
7.2 处理单元格区域179
7.2.1 复制单元格区域180
7.2.2 移动单元格区域181
7.2.3 复制大小可变的单元格区域181
7.2.4 选中或者识别各种类型的单元格区域182
7.2.5 调整单元格区域大小184
7.2.6 提示输入单元格中的值184
7.2.7 在下一个空单元格中输入一个值186
7.2.8 暂停宏的运行以便获得用户选中的单元格区域187
7.2.9 计算选中单元格的数目188
7.2.10 确定选中的单元格区域的类型189
7.2.11 有效地循环遍历选中的单元格区域191
7.2.12 删除所有空行193
7.2.13 任意次数地复制行194
7.2.14 确定单元格区域是否包含在另一个单元格区域内195
7.2.15 确定单元格的数据类型196
7.2.16 读写单元格区域197
7.2.17 在单元格区域中写入值的更好方法198
7.2.18 传递一维数组中的内容200
7.2.19 将单元格区域传递给Variant类型的数组201
7.2.20 按数值选择单元格201
7.2.21 复制非连续的单元格区域203
7.3 处理工作簿和工作表204
7.3.1 保存所有工作簿204
7.3.2 保存和关闭所有工作簿205
7.3.3 隐藏除选区之外的区域205
7.3.4 创建超链接内容表206
7.3.5 同步工作表207
7.4 VBA技巧208
7.4.1 切换布尔类型的属性值208
7.4.2 显示日期和时间209
7.4.3 显示友好时间210
7.4.4 获得字体列表211
7.4.5 对数组进行排序213
7.4.6 处理一系列文件213
7.5 用于代码中的一些有用函数215
7.5.1 FileExists函数215
7.5.2 FileNameOnly函数216
7.5.3 PathExists函数216
7.5.4 RangeNameExists函数216
7.5.5 SheetExists函数217
7.5.6 WorkbookIsOpen函数217
7.5.7 检索已经关闭的工作簿中的值218
7.6 一些有用的工作表函数220
7.6.1 返回单元格的格式信息220
7.6.2 会说话的工作表221
7.6.3 显示保存或打印文件的时间221
7.6.4 理解对象的父对象222
7.6.5 计算介于两个值之间的单元格数目223
7.6.6 确定行或列中最后一个非空的单元格224
7.6.7 字符串与模式匹配225
7.6.8 从字符串中提取第n个元素226
7.6.9 拼写出数字227
7.6.10 多功能函数228
7.6.11 SHEETOFFSET函数228
7.6.12 返回所有工作表中的最大值229
7.6.13 返回没有重复随机整数元素的数组230
7.6.14 随机化单元格区域232
7.6.15 对单元格区域进行排序233
7.7 Windows API调用234
7.7.1 理解API声明234
7.7.2 确定文件的关联性235
7.7.3 确定默认打印机的信息236
7.7.4 确定视频显示器的信息237
7.7.5 读写注册表238
第 II 部分 高级VBA技术
第8章 使用透视表243
8.1 数据透视表示例243
8.1.1 创建数据透视表244
8.1.2 检查录制的数据透视表代码245
8.1.3 整理录制的数据透视表代码246
8.2 创建更复杂的数据透视表248
8.2.1 创建数据透视表的代码249
8.2.2 更复杂数据透视表的工作原理250
8.3 创建多个数据透视表251
8.4 创建转换的数据透视表254
第9章 使用图表257
9.1 关于图表257
9.1.1 图表的位置257
9.1.2 宏录制器和图表258
9.1.3 Chart对象模型258
9.2 创建嵌入式图表259
9.3 在图表工作表上创建图表261
9.4 修改图表261
9.5 使用VBA激活图表262
9.6 移动图表262
9.7 使用VBA使图表取消激活264
9.8 确定图表是否被激活264
9.9 从ChartObjects或Charts集合中删除图表264
9.10 循环遍历所有图表265
9.11 调整ChartObjects对象的大小并对齐267
9.12 创建大量图表268
9.13 导出图表271
9.14 修改图表中使用的数据272
9.14.1 基于活动单元格修改图表数据273
9.14.2 用VBA确定图表中使用的单元格区域274
9.15 使用VBA在图表上显示任意数据标签277
9.16 在用户窗体中显示图表279
9.17 理解图表事件281
9.17.1 使用图表事件的一个示例282
9.17.2 为嵌入式图表启用事件284
9.17.3 示例:在嵌入式图表上使用图表事件285
9.18 VBA制图技巧287
9.18.1 在整个页面上打印嵌入式图表287
9.18.2 创建未链接的图表287
9.18.3 用MouseOver事件显示文本289
9.18.4 滚动图表291
9.19 使用迷你图292
第10章 与其他应用程序的交互296
10.1 了解Microsoft Office自动化296
10.1.1 了解绑定概念296
10.1.2 一个简单的自动化示例298
10.2 从Excel中自动执行Access任务299
10.2.1 从Excel中运行Access查询299
10.2.2 从Excel运行Access宏300
10.3 从Excel自动执行Word任务301
10.3.1 将Excel数据传递给Word文档301
10.3.2 模拟Word文档的邮件合并功能302
10.4 从Excel自动执行PowerPoint任务304
10.4.1 将Excel数据发送到PowerPoint演示文稿中304
10.4.2 将所有Excel图表发送到PowerPoint演示文稿中305
10.4.3 将工作表转换成PowerPoint演示文稿307
10.5 从Excel自动执行Outlook任务308
10.5.1 以附件形式发送活动工作簿308
10.5.2 以附件形式发送指定单元格区域309
10.5.3 以附件形式发送指定的单个工作表310
10.5.4 发送给联系人列表中的所有Email地址311
10.6 从Excel启动其他应用程序312
10.6.1 使用VBA的Shell函数313
10.6.2 使用Windows的ShellExecute API函数315
10.6.3 使用AppActivate语句316
10.6.4 激活控制面板对话框317
第11章 处理外部数据和文件318
11.1 处理外部数据连接318
11.2 Power Query基础介绍318
11.2.1 了解查询步骤323
11.2.2 刷新Power Query数据324
11.2.3 管理已有的查询324
11.2.4 使用VBA创建动态连接325
11.2.5 遍历工作簿中的所有连接327
11.3 使用ADO和VBA来提取外部数据328
11.3.1 连接字符串328
11.3.2 声明记录集329
11.3.3 引用ADO对象库330
11.3.4 以编程方式使用ADO连接Access331
11.3.5 对活动工作簿使用ADO332
11.4 处理文本文件334
11.4.1 打开文本文件334
11.4.2 读取文本文件335
11.4.3 编写文本文件335
11.4.4 获取文件序号335
11.4.5 确定或设置文件位置335
11.4.6 读写语句336
11.5 文本文件操作示例336
11.5.1 导入文本文件的数据336
11.5.2 将单元格区域的数据导出到文本文件337
11.5.3 将文本文件的内容导出到单元格区域338
11.5.4 记录Excel日志的用法339
11.5.5 筛选文本文件339
11.6 执行常见的文件操作340
11.6.1 使用与VBA文件相关的指令341
11.6.2 使用FileSystemObject对象345
11.7 压缩和解压缩文件347
11.7.1 压缩文件347
11.7.2 解压缩文件348
第 III 部分 操作用户窗体
第12章 使用自定义对话框353
12.1 创建用户窗体之前需要了解的内容353
12.2 使用输入框353
12.2.1 VBA的InputBox函数353
12.2.2 Excel的InputBox方法356
12.3 VBA的MsgBox函数359
12.4 Excel的GetOpenFilename方法363
12.5 Excel的GetSaveAsFilename方法366
12.6 提示输入目录名称366
12.7 显示Excel的内置对话框367
12.8 显示数据记录单369
12.8.1 使得数据记录单变得可以访问369
12.8.2 通过使用VBA来显示数据记录单370
第13章 用户窗体概述371
13.1 Excel如何处理自定义对话框371
13.2 插入新的用户窗体372
13.3 向用户窗体中添加控件372
13.4 工具箱中的控件373
13.4.1 复选框373
13.4.2 组合框374
13.4.3 命令按钮374
13.4.4 框架374
13.4.5 图像374
13.4.6 标签375
13.4.7 列表框375
13.4.8 多页375
13.4.9 选项按钮375
13.4.10 RefEdit375
13.4.11 滚动条375
13.4.12 数值调节钮375
13.4.13 TabStrip375
13.4.14 文本框376
13.4.15 切换按钮376
13.5 调整用户窗体的控件377
13.6 调整控件的属性378
13.6.1 使用属性窗口378
13.6.2 共同属性379
13.6.3 满足键盘用户的需求381
13.7 显示用户窗体383
13.7.1 调整显示位置384
13.7.2 显示非模态的用户窗体384
13.7.3 显示基于变量的用户窗体384
13.7.4 加载用户窗体384
13.7.5 关于事件处理程序385
13.8 关闭用户窗体385
13.9 创建用户窗体的示例386
13.9.1 创建用户窗体386
13.9.2 编写代码显示对话框389
13.9.3 测试对话框390
13.9.4 添加事件处理程序391
13.9.5 完成对话框392
13.9.6 了解事件392
13.9.7 数值调节钮的事件394
13.9.8 数值调节钮与文本框配套使用395
13.10 引用用户窗体的控件397
13.11 自定义工具箱399
13.11.1 在工具箱中添加新页399
13.11.2 自定义或组合控件399
13.11.3 添加新的ActiveX控件400
13.12 创建用户窗体的模板401
13.13 用户窗体问题检测列表402
第14章 用户窗体示例403
14.1 创建用户窗体式菜单403
14.1.1 在用户窗体中使用命令按钮403
14.1.2 在用户窗体中使用列表框404
14.2 从用户窗体选中单元格区域405
14.3 创建欢迎界面407
14.4 禁用用户窗体的关闭按钮408
14.5 改变用户窗体的大小409
14.6 在用户窗体中缩放和滚动工作表411
14.7 列表框技巧412
14.7.1 向列表框控件中添加条目413
14.7.2 确定列表框中选中的条目417
14.7.3 确定列表框中的多个选中条目417
14.7.4 单个列表框中的多个列表418
14.7.5 列表框条目的转移419
14.7.6 在列表框中移动条目420
14.7.7 使用多列的列表框控件422
14.7.8 使用列表框选中工作表中的行423
14.7.9 使用列表框激活工作表425
14.7.10 通过文本框来筛选列表框428
14.8 在用户窗体中使用多页控件429
14.9 使用外部控件431
14.10 使标签动画化433
第15章 高级用户窗体技术436
15.1 非模态对话框436
15.2 显示进度条439
15.2.1 创建独立的进度条440
15.2.2 集成到用户窗体中的进度条444
15.2.3 创建非图形化进度条447
15.3 创建向导448
15.3.1 为向导设置多页控件449
15.3.2 在向导用户窗体中添加按钮450
15.3.3 编写向导按钮的程序450
15.3.4 编写向导中的相关代码451
15.3.5 使用向导执行任务453
15.4 模仿MsgBox函数454
15.4.1 模仿MsgBox函数:MyMsgBox函数的代码455
15.4.2 MyMsgBox函数的工作原理456
15.4.3 使用MyMsgBox函数457
15.5 带有可移动控件的用户窗体457
15.6 没有标题栏的用户窗体459
15.7 使用用户窗体模拟工具栏460
15.8 使用用户窗体来模仿任务面板462
15.9 可调整大小的用户窗体463
15.10 用一个事件处理程序处理多个用户窗体控件466
15.11 在用户窗体中选择颜色468
15.12 在用户窗体中显示图表470
15.12.1 将图表保存为GIF文件471
15.12.2 更改图像控件的Picture属性471
15.13 使用户窗体半透明471
15.14 用户窗体上的数字推盘473
15.15 用户窗体上的电动扑克474
第 IV 部分 开发Excel应用程序
第16章 创建和使用加载项477
16.1 什么是加载项477
16.1.1 加载项与标准工作簿的比较477
16.1.2 创建加载项的原因478
16.2 理解Excel的加载项管理器480
16.3 创建加载项481
16.4 加载项示例482
16.4.1 为加载项示例添加描述信息483
16.4.2 创建加载项483
16.4.3 安装加载项484
16.4.4 测试加载项485
16.4.5 发布加载项485
16.4.6 修改加载项485
16.5 比较XLAM和XLSM文件486
16.5.1 XLAM文件中的VBA集合成员486
16.5.2 XLSM和XLAM文件的可见性487
16.5.3 XLSM和XLAM文件的工作表和图表工作表487
16.5.4 访问加载项中的VBA过程488
16.6 用VBA操作加载项491
16.6.1 向AddIns集合中添加项491
16.6.2 从AddIns集合中删除项492
16.6.3 AddIn对象属性492
16.6.4 作为工作簿访问加载项495
16.6.5 AddIn对象事件496
16.7 优化加载项的性能496
16.8 加载项的特殊问题497
16.8.1 确保加载项已经安装497
16.8.2 从加载项中引用其他文件499
第17章 使用功能区500
17.1 功能区基础500
17.2 自定义功能区501
17.2.1 向功能区中添加按钮502
17.2.2 向快速访问工具栏中添加按钮504
17.2.3 自定义功能区的局限性505
17.3 创建自定义的功能区505
17.3.1 将按钮添加到现有的选项卡中506
17.3.2 向已有的选项卡中添加复选框510
17.3.3 功能区控件演示513
17.3.4 dynamicMenu控件示例520
17.3.5 关于自定义功能区的其他内容522
17.4 VBA和功能区523
17.4.1 访问功能区控件523
17.4.2 使用功能区524
17.4.3 激活选项卡526
17.5 创建老式工具栏526
17.5.1 老式工具栏的局限性526
17.5.2 创建工具栏的代码526
第18章 使用快捷菜单529
18.1 命令栏简介529
18.1.1 命令栏的类型529
18.1.2 列出快捷菜单530
18.1.3 引用命令栏531
18.2 引用命令栏中的控件531
18.3 命令栏控件的属性532
18.4 显示所有的快捷菜单项533
18.5 使用VBA自定义快捷菜单534
18.6 重置快捷菜单536
18.6.1 禁用快捷菜单537
18.6.2 禁用快捷菜单项538
18.6.3 向单元格快捷菜单中添加一个新项538
18.6.4 向快捷菜单添加一个子菜单540
18.6.5 将快捷菜单限制到单个工作簿542
18.7 快捷菜单与事件542
18.7.1 自动添加和删除菜单542
18.7.2 禁用或隐藏快捷菜单项543
18.7.3 创建一个上下文相关的快捷菜单543
第19章 为应用程序提供帮助546
19.1 Excel应用程序的帮助546
19.2 使用Excel组件的帮助系统548
19.2.1 为帮助系统使用单元格批注548
19.2.2 为帮助系统使用文本框549
19.2.3 使用工作表来显示帮助文本550
19.2.4 在用户窗体中显示帮助信息551
19.3 在Web浏览器中显示帮助554
19.3.1 使用HTML文件554
19.3.2 使用一个MHTML文件555
19.4 使用HTML帮助系统556
19.4.1 使用Help方法来显示HTML帮助信息557
19.4.2 将帮助文件与应用程序相关联558
19.4.3 将一个帮助主题与一个VBA函数相关联558
第20章 理解类模块560
20.1 什么是类模块560
20.1.1 内置的类模块561
20.1.2 自定义类模块561
20.2 创建NumLock类562
20.2.1 插入类模块562
20.2.2 给类模块添加VBA代码563
20.2.3 使用CNumLock类564
20.3 属性、方法和事件编程565
20.3.1 对象属性编程565
20.3.2 对象的方法编程566
20.3.3 类模块事件567
20.4 QueryTable事件567
20.5 创建存储类的类570
20.5.1 创建CSalesRep和CSalesReps类570
20.5.2 创建CInvoice和CInvoices类572
20.5.3 用对象填充父类573
20.5.4 计算佣金574
第21章 兼容性问题576
21.1 什么是兼容性576
21.2 兼容性问题的类型577
21.3 避免使用新功能578
21.4 在Mac机器上是否可用579
21.5 处理64位Excel580
21.6 创建一个国际化应用程序581
21.7 多语言应用程序582
21.8 VBA语言的考虑583
21.9 使用本地属性583
21.10 系统设置识别584
21.11 日期和时间设置586
附录A VBA语句和函数引用587
A.1 VBA语句587
A.2 函数590
內容試閱 :
前言
对大多数人来讲,想要学习Excel VBA编程技术都起因于需要执行一些利用Excel的标准工具无法完成的任务。对于我们每个人来讲,任务都各不相同。任务可能是需要为数据集中的所有行自动创建单独的工作簿,也可能是需要自动通过电子邮箱发送几十封报告。不管你面对的是什么样的任务,基本上都可以肯定已经有人使用Excel VBA来解决跟你一样的问题了。
就Excel VBA来讲,最美妙的事莫过于你不是必须成为专家后才能解决问题。你可以为解决一个具体问题而学习相关知识,也可以为处理各种自动化场景而深入学习各种技巧。
无论你的目标如何,本书所讲解的Excel 2019编程技术都可以帮助你驾驭VBA语言的强大功能来使任务自动化,并使工作更省心更有效率。
本书涵盖的内容
《中文版Excel 2019高级VBA编程宝典第9版》主要介绍VBAVisual Basic for Applications,这是一种构建于Excel和其他Microsoft Office应用程序中的编程语言。更具体地说,《中文版Excel 2019高级VBA编程宝典第9版》将展示如何编写使Excel中各种任务自动化的程序。《中文版Excel 2019高级VBA编程宝典第9版》涵盖了从录制简单的宏乃至创建复杂的、面向用户的应用程序和实用程序等所有内容。
你可按自己所需来学习《中文版Excel 2019高级VBA编程宝典第9版》的内容,可以从头读到尾,也可以从中挑出觉得对自己有用的部分。VBA编程通常都是面向任务的,因此在面对一个具有挑战性的任务时,可以先从《中文版Excel 2019高级VBA编程宝典第9版》中查一查哪些章节是专门针对你所面对的问题的。
《中文版Excel 2019高级VBA编程宝典第9版》并没有涵盖VSTOVisual Studio Tools for Office中的内容。VSTO是一门较新技术,它使用了Visual Basic .NET和Microsoft Visual C#。VSTO也可用于控制Excel和其他Microsoft Office应用程序。
你可能知道,Excel 2019也可用于其他平台。例如,你可在浏览器中使用微软的Excel Web App,甚至在iPad和平板电脑上运行Excel。这些版本不支持VBA。也就是说,《中文版Excel 2019高级VBA编程宝典第9版》介绍的是针对Windows平台的Excel 2019桌面版本。
《中文版Excel 2019高级VBA编程宝典第9版》读者对象
《中文版Excel 2019高级VBA编程宝典第9版》并不是为Excel的初学者编写的。如果读者对使用Excel没有任何经验,那么最好先阅读Wiley出版社出版的由John Walkenbach撰写的《中文版Excel 2019宝典》,该书全面概括了Excel的所有功能,它是为各个层次的读者服务的。
为发挥《中文版Excel 2019高级VBA编程宝典第9版》的最大功效,读者应该是有一定使用经验的Excel用户。《中文版Excel 2019高级VBA编程宝典第9版》假设读者已经掌握了如下技能:
● 如何创建工作簿、插入工作表、保存文件等
● 如何在工作簿中导航
● 如何使用Excel功能区用户界面
● 如何输入公式
● 如何使用Excel的工作表函数
● 如何给单元格和单元格区域命名
● 如何使用基本的Windows功能,例如文件管理方法和剪贴板的使用
所需的资源
Excel 有多种版本,包括 Web 版本和平板电脑及手机版本。《中文版Excel 2019高级VBA编程宝典第9版》是专门为适用于 Windows 的 Microsoft Excel 2019 的桌面版本编写的。如果你计划开发将在早期版本的 Excel 中使用的应用程序,我们强烈建议你使用目标受众所使用的早期版本的 Excel。在过去几年中,Microsoft 对具有 Office 365 的 Excel 网络版本采用了敏捷发布周期,几乎每月生成发布更新。
为充分学习《中文版Excel 2019高级VBA编程宝典第9版》的知识,应该安装Excel的完整版。如果想要学习《中文版Excel 2019高级VBA编程宝典第9版》中的高级技术如Excel与其他Office程序之间的通信,你还需要安装Office软件。
你使用哪种 Windows 版本并不重要。任何可以运行 Windows 的计算机系统都足够了,但使用具有充足内存的快速计算机会好得多。Excel 是一个大型程序,在较慢的系统或内存最少的系统上使用它可能会非常令人沮丧。
请注意,《中文版Excel 2019高级VBA编程宝典第9版》不适用于Mac计算机上的Microsoft Excel版本。
《中文版Excel 2019高级VBA编程宝典第9版》约定
请花点时间阅读本节内容,这里介绍《中文版Excel 2019高级VBA编程宝典第9版》使用的一些约定。
Excel命令
Excel使用上下文相关的功能区系统。顶部的单词如插入视图等称为选项卡。单击某个选项卡,图标的功能区就将显示最适合当前任务的命令。每个图标都有一个名称,通常显示在该图标的旁边或下方。图标是按组排列的,组名显示在图标下方。
《中文版Excel 2019高级VBA编程宝典第9版》约定:先指明的是选项卡的名称,随后是组的名称,最后是图标的名称。例如,用于处理单元格中自动换行的命令如下所示:
开始|对齐方式|自动换行
单击第一个选项卡,即文件选项卡,将进入一个名为Backstage的新界面。Backstage窗口的左侧有一列命令。为了指明Backstage命令,先使用单词文件,然后是命令名。例如,下面的命令将显示Excel选项对话框:
文件|选项
VBE命令
VBE是在其中使用VBA代码的窗口。VBE使用传统的菜单和工具栏界面。下面的命令指单击工具菜单并选中引用菜单项:
工具|引用
键盘的约定
需要使用键盘来输入数据。此外,使用键盘还可以直接操作菜单和对话框,如果双手已经放到键盘上,那么这种方法会更方便一些。
输入
较长的输入通常以等宽字体显示在单独一行中。例如,书中会以下文的方式提示输入以下公式:
=VLOOKUPStockNumber,PriceList,2
VBA代码
《中文版Excel 2019高级VBA编程宝典第9版》包含许多VBA代码片段以及完整的过程清单。每个清单以等宽字体显示,每行代码占据单独一行笔者直接从VBA模块中复制这些清单,并把它们粘贴到自己的字处理程序中。为使代码更易于阅读,书中使用一个或多个制表符进行缩进。缩进是可选的,但确实可以帮助限定一起出现的语句。
当《中文版Excel 2019高级VBA编程宝典第9版》中的单独一行放不下一行代码时,《中文版Excel 2019高级VBA编程宝典第9版》使用标准的VBA续行符:在一行的结尾,采用空格后跟下画线字符的方式表明代码行延伸到了下一行。例如,下面两行是一条代码语句:
columnCount = Application.WorksheetFunction._
CountARange "A:A" 1
可按上面的显示把代码输入到两行中,或者删除下画线字符并把代码输入到一行中。
函数、文件名和命名单元格区域
Excel的工作表函数以大写字母显示,如在单元格C20中输入一个SUM公式。对于VBA过程名、属性、方法和对象,《中文版Excel 2019高级VBA编程宝典第9版》经常混合使用大写和小写字母以便读者阅读这些名称。
鼠标约定
你将会遇到下列一些与鼠标相关的术语。
鼠标指针:这是移动鼠标时在屏幕上移动的小图形。鼠标指针通常是箭头,但当你移动到屏幕的某些区域或执行某些操作时,它会改变形状。
鼠标指向:移动鼠标,使鼠标指针位于指定项上。例如,指向工具栏上的保存按钮。
单击:按左键一次并立即松开。
右键单击:按右键一次并立即松开。Excel 中使用鼠标右键打开适合当前选择的任何内容的快捷菜单。
双击:连续按下鼠标左键两次。
拖动:按下鼠标左键,并在移动鼠标时按住它。拖动通常用于选择单元格区域或更改对象的大小。
图标的含义
《中文版Excel 2019高级VBA编程宝典第9版》使用一些图标来引起读者的注意,告诉读者这些信息非常重要。
注意:
使用注意图标来告诉读者这些信息很重要,也许有助于读者掌握随后任务的概念,或有助于理解后面资料的一些基础知识。
提示:
提示图标指出更有效的工作方式或可能不是很明显的方法。
在线资源:
这类图标表明示例文件可在下载的示例文件包中找到。具体说明参见前言中的关于下载的示例文件包一节。
警告:
警告图标表明在操作时不小心可能会导致出现问题。
交叉参考:
这类图标表明请读者参阅其他章节中关于某个主题的详细信息。
《中文版Excel 2019高级VBA编程宝典第9版》的组织结构
《中文版Excel 2019高级VBA编程宝典第9版》的章节分为四个主要部分和一个附录。
第I部分 Excel VBA基础知识
第I部分介绍Excel VBA,为创建和管理Excel子例程和函数提供编程基础知识。第1章全面介绍Excel应用开发方面的各种概念。第2~6章讨论在进行VBA编程时需要了解的各种知识。第7章则列举许多有用的示例助你巩固前面所学的VBA知识点。
第II部分 高级VBA技术
第Ⅱ部分涵盖一些VBA高级编程技术。第8章和第9章讨论如何使用VBA来处理透视表和图表包括迷你图。第10章讨论在与其他应用程序如Word和Outlook交互时所采用的各种技术。第11章介绍如何处理文件和外部数据源。
第III部分 操作用户窗体
该部分的4章内容主要介绍自定义对话框也称为用户窗体。第12章介绍创建自定义用户窗体的一些内置方法。第13章介绍用户窗体以及可供使用的各种控件。第14章和第15章则列举从基本到高级的自定义对话框的大量示例。
第IV部分 开发Excel应用程序
该部分讲述创建面向用户的应用程序的重要内容。第16章手把手教你创建加载项。第17章和第18章讨论如何修改Excel的功能区和快捷菜单。第19章介绍向应用程序提供在线帮助的几种不同方法。第20章介绍类模块。第21章探讨在进行Excel VBA编程时与兼容性相关的一些信息。
附录A是一份参考指南,列出作为VBA中关键字的所有语句和函数。
关于下载的示例文件包
《中文版Excel 2019高级VBA编程宝典第9版》中讨论过的几乎所有知识都配有示例。可以下载《中文版Excel 2019高级VBA编程宝典第9版》中所包含的很多有用示例。
《中文版Excel 2019高级VBA编程宝典第9版》的配书网站是www.wiley.comgoexcel2019powerprogramming。
也可扫《中文版Excel 2019高级VBA编程宝典第9版》封底的二维码直接下载。