注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络家庭与办公软件Excel VBA程序开发自学宝典(第4版)

Excel VBA程序开发自学宝典(第4版)

Excel VBA程序开发自学宝典(第4版)

定 价:¥119.00

作 者: 罗刚君 著
出版社: 电子工业出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787121414350 出版时间: 2021-07-01 包装: 平装
开本: 16开 页数: 524 字数:  

内容简介

  《Excel VBA 程序开发自学宝典(第 4 版)》是 VBA 入门与提高的经典教材。全书包含基础知识部分和高级应用部分。其中,基础知识部分包含 VBA 的基础理论、常用语句解析、综合应用、编程规则与代码优化等,提供了详尽的理论阐述和案例演示。高级应用部分包含数组、正则表达式、字典、设计窗体、VBA 与注册表、处理文件及文件夹、开发自定义函数、ribbon 功能区设计、与Word/PPT 协同办公,以及开发通用插件等专业知识。本书基于Excel 2019 撰写,不过代码可在Excel 2010、Excel 2013 和Excel 2016 中通用。如果你的Excel 版本不是2019 也可以不用升级,可以直接阅读本教材,按步骤操作即可。本书是《Excel VBA 程序开发自学宝典(第3 版)》的升级版,在升级过程中做了大量的修改,包括调整章节顺序、舍弃部分实用性不好的内容、删除一些已经淘汰的技术、增加全新案例和章节等,特别是讲解了Excel VBA 与Word、PPT 的协同办公知识,有必要认真学习。本书附赠案例源文件和案例源代码,以及复杂案例的演示视频。

作者简介

  罗刚君,网名andysky,从事Excel研究及VBA二次开发10多年,擅长Excel函数、图表、透视表和VBA,尤其对Excel VBA有着相当丰富的开发经验和熟练的实战技能,也拥有丰硕的开发成果。作者担任过近10个Excel相关论坛的版主,著有15本Excel图书,书名如下:1.《Excel 2007 VBA范例大全》2.《Excel 2007技法与行业应用实例精讲》3.《Excel 2007 VBA开发技术大全》4.《Excel 2007函数案例速查宝典》5.《Excel VBA程序开发自学宝典》6.《Excel 2010 VBA编程与实践》7.《Excel 2010函数与图表速查手册》8.《Excel VBA程序开发自学宝典(第2版)》9.《Excel函数、图表与透视表从入门到精通》10.《来吧!带你玩转Excel VBA》11.《Excel VBA程序开发自学宝典(第3版)》12.《Excel 2013函数案例自学宝典(实战版)》13.《Excel 2013 VBA编程与实践》14.《Excel 2016实用技巧自学宝典》15.《Excel VBA与VSTO基础实战指南》可从以下网址了解更详细的图书信息:http://excelbbx.net/book.htm

图书目录

目录
第1章 初步感受VBA的魅力1
1.1  批量任务一键执行1
1.1.1  准备工作1
1.1.2  程序测试1
1.1.3  案例点评2
1.2  数据汇总自动完成2
1.2.1  案例需求2
1.2.2  程序测试3
1.2.3  案例点评3
1.2.4  开发专业程序4
第2章 VBA程序入门5
2.1  如何存放代码5
2.1.1  认识模块5
2.1.2  管理模块6
2.2  如何产生代码7
2.2.1  复制现有的代码7
2.2.2  录制宏7
2.2.3  手工编写代码9
2.2.4  从模板中获取代码10
2.3  如何调用代码10
2.3.1  <F5>键10
2.3.2  组合键11 2.3.3  自定义快捷键12
2.3.4  按钮12
2.3.5  菜单13
2.4  如何保存代码13
2.4.1  工作簿格式13
2.4.2  解决丢失代码问题14
2.4.3  显示文件扩展名14
2.5  如何放行代码15
2.5.1  调整“宏设置”16
2.5.2  添加受信任位置16
2.6  如何查询代码帮助17
2.6.1  Excel不同版本中的帮助差异17
2.6.2  如何调用帮助系统17
2.7  如何简化开发难度19
2.7.1  录制宏19
2.7.2  调用内置提示19
2.7.3  调用笔记21
第3章 VBA的程序结构详解22
3.1  Sub过程基本语法22
3.1.1  认识程序结构22
3.1.2  为VBA程序添加注释23
3.2  过程的作用范围24
3.2.1  何谓作用范围24
3.2.2  公有过程与私有过程的区别24
3.3  过程的命名规则25
3.4  过程的参数25
3.5  过程的执行流程26
3.5.1  正常的执行流程26
3.5.2  改变程序的执行流程26
3.6  中断过程27
3.6.1  结束过程:End Sub27
3.6.2  中途结束过程:Exit Sub27
3.6.3  中途结束一切:End27
3.6.4  暂停过程:Stop27
3.6.5  手动暂停程序:Ctrl Break28
第4章 VBA四大基本概念29
4.1  Excel的对象29
4.1.1  什么是对象29
4.1.2  对象与对象集合30
4.1.3  对象的层次结构32
4.1.4  父对象与子对象33
4.1.5  活动对象34
4.2  对象的方法和属性35
4.2.1  属性与方法的区别36
4.2.2  查询方法与属性的两种方法36
4.2.3  方法与属性的应用差异37
4.3  对象的事件40
4.3.1  什么是事件40
4.3.2  事件的分类及其层级关系41
4.3.3  工作簿事件与工作表事件一览41
4.3.4  工作簿与工作表事件的作用对象42
4.3.5  快速掌握事件过程44
4.3.6  何时需要使用事件过程44
第5章 通过变量强化程序功能45
5.1  数据类型45
5.1.1  为什么要区分数据类型45
5.1.2  认识VBA的数据类型45
5.2  声明变量47
5.2.1  变量的定义47
5.2.2  变量的声明方式47
5.2.3  变量的赋值方式与初始值49
5.2.4  如何确定变量的数据类型正确50
5.2.5  正确声明变量的数据类型的优势50
5.2.6  变量的作用域52
5.2.7  变量的生命周期53
5.3  对象变量53
5.3.1  如何区分对象变量和数据变量54
5.3.2  对变量赋值54
5.3.3  使用对象变量的优势55
5.4  声明常量56
5.4.1  常量的定义与用途56
5.4.2  常量的声明方式57
5.2.3  常量的命名规则57
第6章 详解五大常用对象59
6.1  对象基础知识59
6.1.1  对象的结构59
6.1.2  对象与对象的集合60
6.1.3  引用集合中的单一对象60
6.1.4  父对象与子对象60
6.1.5  活动对象61
6.1.6  使用变量简化对象的引用61
6.1.7  使用With语句简化对象的引用62
6.2  单元格对象63
6.2.1  Range("A1")方式引用单元格64
6.2.2  Cells(1,1)方式引用单元格66
6.2.3  [a1]方式引用单元格67
6.2.4  Range("A1")、Cells(1,1)与[a1]比较68
6.2.5  Selection与ActiveCell:当前选区与活动单元格69
6.2.6  已用区域与当前区域69
6.2.7  SpecialCells:按条件引用区域70
6.2.8  CurrentArray:引用数组区域74
6.2.9  Resize:重置区域大小75
6.2.10  Offset:根据偏移量引用新区域76
6.2.11  Union:多区域合集78
6.2.12  Intersect:单元格、区域的交集79
6.2.13  End:引用源区域的区域尾端的单元格80
6.2.14  EntireRow/EntireColumn:扩展至整行、整列81
6.2.15  RangeSelection:工作表中的选定单元格82
6.2.16  VisibleRange:指定窗口的可见区域83
6.3  批注对象84
6.3.1  批注对象的特点84
6.3.2  判断单元格中是否有批注85
6.3.3  AddComment:添加单元格批注85
6.3.4  AutoSize:让批注框自动缩放86
6.3.5  AutoShapeType:修改批注的外形86
6.3.6  ClearComments:清空表中所有批注86
6.4  图形对象87
6.4.1  Shapes:图形对象集合87
6.4.2  图形对象的名称87
6.4.3  隐藏的图形对象集合88
6.5  表对象90
6.5.1  表的类别90
6.5.2  Worksheets:工作表集合90
6.5.3  引用工作表子集91
6.5.4  ActiveSheet:活动表91
6.5.5  工作表的特性92
6.5.6  新建工作表93
6.6  工作簿对象93
6.6.1  工作簿格式与特性93
6.6.2  新建工作簿94
6.6.3  Workbooks:工作簿集合94
6.6.4  引用工作簿子集94
6.6.5  ActiveWorkbook:活动工作簿94
第7章 常用语句解析95
7.1  输出/输入语句95
7.1.1  MsgBox函数95
7.1.2  Application.InputBox方法98
7.2  条件判断语句103
7.2.1  IIf函数的语法与应用103
7.2.2  IIf函数的限制105
7.2.3  If Then语句的语法详解106
7.2.4  If Then应用案例106
7.2.5  If Then Else语句的语法与应用107
7.2.6  多条件嵌套的条件判断语句110
7.2.7  Select Case语法详解114
7.2.8  Select Case与If Then Else之比较117
7.2.9  借用Choose函数简化条件选择118
7.3  循环语句120
7.3.1  For Next语句120
7.3.2  For Each Next语句127
7.3.3  Do Loop语法详解132
7.4  错误处理语句140
7.4.1  错误类型与原因140
7.4.2  err对象及其属性、方法141
7.4.3  认识Error函数142
7.4.4  On Error GoTo line142
7.4.5  On Error Resume Next146
7.4.6  On Error GoTo 0151
7.5  预览语句151
7.5.1  认识FileDialog对象151
7.5.2  选择路径152
7.5.3  选择文件153
7.5.4  按类型选择文件154
第8章 开发自启动程序157
8.1  让宏自动执行157
8.1.1  Auto自动宏157
8.1.2  升级版自动宏:事件158
8.1.3  事件的禁用与启用160
8.1.4  事件的特例161
8.2  工作表事件162
8.2.1  在状态栏提示值的单元格地址162
8.2.2  快速输入出勤表163
8.2.3  在状态栏显示选区的字母、数字、汉字个数164
8.2.4  实时监控单元格每一次编辑的数据与时间166
8.2.5  利用数字简化公司名输入168
8.2.6  输入数据时自动跳过带公式的单元格170
8.3  工作簿事件171
8.3.1  新建工作表时自动设置页眉171
8.3.2  未汇总则禁止打印与关闭工作簿172
8.3.3  自动选中相同值并计数174
8.3.4  设计未启用宏就无法打开的工作簿176
8.4  定时执行的程序177
8.4.1  基本语法178
8.4.2  每天在13:28语音提示开会178
8.4.3  在单元格中显示当前时期179
第9章 综合应用案例181
9.1  Application应用案例181
9.1.1  计算字符表达式181
9.1.2  合并相同且相邻的单元格182
9.1.3  定时打印文件184
9.1.4  模拟键盘快捷键打开高级选项185
9.1.5  使用快捷键合并与取消合并单元格186
9.1.6  查找至少两月未付货款的客户名称188
9.2  Range对象应用案例190
9.2.1  合并工作表190
9.2.2  合并区域且保留所有数据193
9.2.3  合并计算多区域的值194
9.2.4  模糊查找公司名称并罗列出来196
9.2.5  反向选择单元格198
9.2.6  插入图片并调整为选区大小200
9.2.7  提取值202
9.2.8  隐藏所有公式结果为错误的单元格203
9.3  Comment 对象应用案例205
9.3.1  在所有批注末尾添加指定日期205
9.3.2  生成图片批注207
9.3.3  添加个性化批注208
9.3.4  批量修改当前表的所有批注外形210
9.4  WorkSheet对象应用案例213
9.4.1  新建工作表并且命名为今天日期213
9.4.2  批量保护工作表与解除保护214
9.4.3  为所有工作表设置水印216
9.4.4  批量命名工作表218
9.4.5  判断筛选条件220
9.5  Workbook对象应用案例223
9.5.1  拆分工作簿223
9.5.2  每10分钟备份一次工作簿225
9.5.3  5分钟内未编辑工作簿则自动备份226
9.5.4  记录文件打开次数228
9.5.5  不打开工作簿而提取数据230
9.5.6  建立指定文件夹下所有工作簿目录和工作表目录232
第10章 编程规则与代码优化234
10.1  代码编写规则234
10.1.1  对代码添加注释234
10.1.2  长代码分行237
10.1.3  代码缩进对齐238
10.1.4  声明有意义的变量名称239
10.1.5  If Then End If类配对语句的输入方式240
10.1.6  输入属性与方法的技巧240
10.1.7  无提示的词组的输入技巧242
10.1.8  善用公共变量242
10.1.9  使用常量名称替代数值243
10.1.10  尽可能兼容Excel 2003到Excel 2019之间的所有版本243
10.2  优化代码思路244
10.2.1  强制声明变量244
10.2.2  善用常量244
10.2.3  关闭屏幕更新244
10.2.4  利用With减少对象读取次245
10.2.5  利用变量减少对象读取次数245
10.2.6  善用带$的字符串处理函数246
10.2.7  不使用Select和Activate直接操作对象246
10.2.8  将与循环无关的语句放到循环语句外247
10.2.9  利用Instr函数简化字符串判断247
10.2.10  使用Replace简化字符串连接248
10.3  借用参数简化程序调用248
10.3.1  参数的概念与用途248
10.3.2  参数的语法结构249
10.3.3  设计带有必选参数的过程249
10.3.4  设计带有可选参数的过程251
10.3.5  设计带有不确定数量参数的过程253
10.3.6  参数的赋值方式254
第11章 高阶应用1:数组256
11.1  数组基础256
11.1.1  何谓数组256
11.1.2  数组的特点256
11.1.3  一维数组257
11.1.4  二维数组259
11.1.5  数组的参数260
11.1.6  声明数组变量261
11.1.7  动态数组与静态数组的区别263
11.1.8  释放动态数组的存储空间268
11.2  数组函数268
11.2.1  用函数创建数组268
11.2.2  获取数组元素270
11.2.3  判断变量是否为数组270
11.2.4  转置数271
11.2.5  获取数组的上标与下标272
11.2.6  转换文本与数组273
11.2.7  筛选数组275
11.3  数组实战276
11.3.1  将指定区域的单词统一为首字母大写276
11.3.2  罗列不及格人员姓名、科目和成绩277
11.3.3  跨表搜索学员信息278
11.3.4  将职员表按学历拆分成多个工作表280
11.3.5  将选区的数据在文本与数值间互换281
11.3.6  获取两列数据的相同283
11.3.7  无人值守的多工作簿自动汇总285
第12章 高阶应用2:正则表达式288
12.1  何谓正则表达式288
12.1.1  概念288
12.1.2  特点288
12.1.3  调用方式289
12.2  语法基础290
12.2.1  调用正则表达式的基本格式290
12.2.2  正则表达式的对象、属性和方法291
12.2.3  匹配的优先顺序294
12.2.4  借用元字符强化搜索功能295
12.3  正则表达式应用311
12.3.1  乱序字符串取值并汇总311
12.3.2  计算建筑面积312
12.3.3  计算括号中的数字合计313
12.3.4  删除字符串首尾的空白字符314
12.3.5  将字符串中的多段数字分列315
12.3.6  提取E-mail地址315
12.3.7  提取文件的路径和名称316
12.3.8  汇总人民币317
12.3.9  分列的高级应用318
12.3.10  删除重复字词319
第13章 高阶应用3:字典321
13.1  Dictionary对象基础321
13.1.1  Dictionary对象的调用321
13.1.2  Dictionary对象的特点323
13.1.3  Dictionary对象的属性与方法323
13.2  Dictionary对象的应用技巧328
13.2.1  利用Dictionary创建三级选单328
13.2.2  分类汇总330
13.2.3  对多列数据相同者应用背景色331
13.2.4  按姓名计数与求产量平均值332
13.2.5  按品名统计半年的产量合计333
第14章 高阶应用4:设计窗体335
14.1  UserForm简介335
14.1.1  窗体与控件的用途335
14.1.2  插入窗体与添加控件的方法335
14.2  窗体控件一览336
14.2.1  标签336
14.2.2  文本框336
14.2.3  命令按钮336
14.2.4  复合框337
14.2.5  列表框337
14.2.6  复选框337
14.2.7  选项按钮337
14.2.8  分组框337
14.2.9  切换按钮337
14.2.10  多页控件337
14.2.11  滚动条338
14.2.12  图像338
14.2.13  RefEdit338
14.2.14  附加控件338
14.3  设置控件属性338
14.3.1  调整窗体控件位置与大小339
14.3.2  设置控件的顺序339
14.3.3  共同属性与非共同属性339
14.3.4  设置颜色属性339
14.3.5  设置控件的宽度与高340
14.3.6  设置Picture属性340
14.3.7  设置RowSource属性341
14.3.8  设置List属性342
14.4  窗体与控件的事件343
14.4.1  UserForm对象的事件343
14.4.2  激活窗体时将所有工作表名称导入到列表框344
14.4.3  双击或者按键关闭窗体345 14.4.4  窗体永远显示在上左角346
14.4.5  按下鼠标左键移动窗体,按下鼠标右键移动控件346
14.4.6  控件事件介绍348
14.4.7  在窗体中建立超链接349
14.4.8  将鼠标指针移过时切换列表框数据351
14.4.9  让输入学号的文本框仅能输入6位数字352
14.4.10  运行窗体期间用鼠标调整文字框大小354
14.4.11  为窗体中所有控件设置帮助355
14.5  窗体的综合应用案例357
14.5.1  设计登录界面357
14.5.2  权限认证窗口358
14.5.3  设计计划任务向导359
14.5.4  设计文字滚动的动态帮助信息,并且可单击停止362
14.5.5  用窗体预览图片364
14.5.6  设计多表输入面板365
14.5.7  多条件高级查询367
第15章 高阶应用5:VBA与注册370
15.1  VBA对注册表的控制方式370
15.1.1  什么是注册表370
15.1.2  VBA操作注册表的方法371
15.2  注册表的应用372
15.2.1  记录后一次打开工作簿的时间372
15.2.2  在窗体中预览图片,自动记忆上次的路373
15.2.3  调整所有表的零值显示状态375
15.2.4  插入签名图片到活动单元格376
15.3  注册表函数的缺点与改善方法377
15.3.1  VBA操作注册表的缺点377
15.3.2  借用脚本自由控制注册表378
15.3.3  修改注册表禁用QQ和记事本378
15.3.4  禁止使用U盘380
第16章 高阶应用6:处理文件与文件夹382
16.1  认识FSO对象、属性与方法382
16.1.1  FSO对象的调用方式382
16.1.2  FSO的对象383
16.1.3  FSO常用对象的方法与属性383
16.2  用FSO处理文件与文件夹386
16.2.1  将D盘中所有隐藏的文件夹显示出来386
16.2.2  遍历子文件夹创建文件目录387
16.2.3  删除D盘中大小为0的文件夹388
16.2.4  罗列近三天修改过的所有文件的名称389
16.3  读/写文本文件390
16.3.1  创建文本文件并输入内容390
16.3.2  读取文本文件391
16.3.3  开发拆分工作簿工具,可加载参数391
第17章 高阶应用7:开发自定义函数396
17.1  自定义函数的功能和语法396
17.1.1  Function过程与Sub过程的区别396
17.1.2  Function过程的语法396
17.1.3  自定义函数的命名规则398
17.2  开发不带参数的Function过程398
17.2.1  判断活动工作簿是否存在图形对象398
17.2.2  计算公式所在单元格的页数399
17.3  开发带有一个参数的Function过程400
17.3.1  在不规则的合并单元格中执行合计400
17.3.2  计算单元格中“元”前方的数值之和401
17.4  开发带有两个参数的Function过403
17.4.1  提取所有数值与汇总403
17.4.2  获取值、小值或众数的地址404
17.4.3  去除括号后计算表达式406
17.5  开发复杂的Function过程407
17.5.1  按条件串连字符407
17.5.2  按单元格背景颜色进行条件求和409
17.5.3  按颜色查找并返回数组410
17.5.4  计算两列的相同项与不同项412
17.6  编写函数帮助414
17.6.1  MacroOptions方法的语法414
17.6.2  为函数分类及添加说明415
第18章 高阶应用8:ribbon功能区设计417
18.1  功能区开发基础417
18.1.1  ribbon的特点417
18.1.2  功能区的组件图示417
18.1.3  手工定制功能区418
18.1.4  认识ribbon代码编辑器418
18.1.5  获取内置按钮图标419
18.2   ribbon定制之语法分析420
18.2.1  功能区代码的结构420
18.2.2  显示与隐藏功能区:ribbon422
18.2.3  隐藏选项卡:tab423
18.2.4  创建新选项卡:tab424
18.2.5  创建新组:group425
18.2.6  创建对话框启动器:dialogBoxLauncher26
18.2.7  在组中添加命令按钮:butto428
18.2.8  创建切换按钮:toggleButton430
18.2.9  标签与复选框:labelControl/ checkBox431
18.2.10  在按钮之间添加分隔条:separator432
18.2.11  创建弹出式菜单:men433
18.2.12  创建拆分按钮:SplitButton434
18.2.13  创建下拉列表:DropDown436
18.2.14  创建编辑框:editBox437
18.2.15  锁定或隐藏内置命令438
18.3  使用回调函数强化功能区439
18.3.1  为什么需要使用回调函数439
18.3.2  回调函数详439
18.3.3  创建在每月的1日到3日才能使用的按442
18.3.4  创建按下与弹起时自动切换图标的按钮443
18.3.5  创建一个能显示图形对象数量的标签445
18.3.6  在功能区中快速查找446
18.3.7  在组的标签处显示问候语448
18.3.8  调用大图片创建下拉菜449
18.3.9  通过复选框控制错误标识的显示状态452
18.3.10  在功能区创建工作表目录454
18.4  使用模板455
18.4.1  模板的重要性455
18.4.2  模板的使用方法456
18.5  制作两个模板456
第19章 高阶应用9:与Word/PPT协同办公460
19.1  操作Word和PPT文件的基本思路460
19.1.1  引用对象460
19.1.2  代码模板461
19.1.3  改造代码462
19.2  使用VBA操作Word465
19.2.1  批量替换Word文档465
19.2.2  根据Excel成绩表批量生成Word通知单467
19.2.3  将Word版的简历提取到Excel表471
19.2.4  批量插入图片到Word并创建目录474
19.3  使用VBA操作PPT476
19.3.1  根据明细表和图片自动生成PPT477
19.3.2  批量从PPT中取值到Excel481
第20章 高阶应用10:开发通用插件485
20.1  认识加载宏485
20.1.1  加载宏的特点485
20.1.2  为什么使用加载宏486
20.1.3  加载项管理器487
20.1.4  加载内置的加载项487
20.1.5  安装与卸载自定义加载宏487
20.1.6  开发加载宏应选哪种格式488
20.1.7  安装加载宏后如何引用其数488
20.1.8  设计加载宏的附加工作488
20.2  开发合并工作表插件489
20.2.1  确认程序需具备的功能489
20.2.2  设计窗489
20.2.3  生成窗体代码490
20.2.4  设计功能区菜单492
20.2.5  安装插件并测试功能494
20.3  开发批量打印标签插件496
20.3.1  确认程序需具备的功能496
20.3.2  设计模板496
20.3.3  编写代码496
20.3.4  设计功能区菜单499
20.3.5  安装插件并测试功能500

本目录推荐