编辑推荐

  适合《ExcelVBA程序开发自学宝典(第3版)》的读者包括三类:

  1.VBA零基础者,通过《Excel VBA程序开发自学宝典(第3版 附光盘)》踏入VBA的门槛。

  2.已有VBA基础但需要扩充知识面者。《Excel VBA程序开发自学宝典(第3版 附光盘)》涉及的VBA知识全面详尽,包含了VBA所必须的基础知识,同时提供正则表达式、FSO、字典、注册表、功能区设计和封装代码等边缘性知识,从而让读者对VBA掌握得更全面。

  3.已对VBA有相当的认识,但想开发更专业的商业软件者。《Excel VBA程序开发自学宝典(第3版 附光盘)》对开发加载宏、自动化加载项和COM加载项都有详细的阐述。同时还提供制作安装程序的教学思路。

内容简介

  《ExcelVBA程序开发自学宝典(第3版)》是VBA入门与提高的经典教材。《Excel VBA程序开发自学宝典(第3版 附光盘)》分上下两篇,上篇包含入门知识,对VBA的基础理论、语法规则、编写思路、代码优化思路等都提供了详尽的理论阐述和案例演示。下篇包含进阶知识,提供窗体设计、正则表达式、字典、FileSystemObject、类模块、注册表、功能区设计、开发加载宏、封装代码等高级应用。

  《ExcelVBA程序开发自学宝典(第3版)基于Excel2010撰写,不过代码可在Excel2007、Excel2010和Excel2013中通用。

  《ExcelVBA程序开发自学宝典(第3版)是《ExcelVBA程序开发自学宝典(第2版)》的升级版,在升级过程中做了大量(不少于60%)的修改,包括调整章节顺序、舍弃部分实用性不大的内容、修改书写方式、完善代码的含义注释、删除已经过时的一些技巧、增加全新案例等。

  《ExcelVBA程序开发自学宝典(第3版)向读者赠送了更新版的Excel百宝箱的安装文件、源代码和动画帮助,保存在随书光盘中。

作者简介

  罗刚君,是多个大型论坛的版主,有着丰富的VBA程序设计经验,现任多个大型Excel论坛的版主,包括:

  http://www.exceltip.net

  http://club.excelhome.net

  http://www.officefans.net

  http://www.officestudy.net

  http://itbbs.pconline.com.cn/soft/f251.html

  

作者已出版超过10本Excel图书,包含函数、图表、透视表与VBA等领域的书籍。现罗列如下:

  1.《ExcelVBA范例大全》

  2.《Excel2007常见技法与行业应用实例精讲》

  3.《Excel2007VBA开发技术大全》

  4.《Excel2007函数案例速查宝典》

  5.《ExcelVBA程序开发自学宝典》

  6.《Excel2010VBA编程与实践》

  7.《Excel2010函数与图表速查手册》

  8.《ExcelVBA程序开发自学宝典(第2版)》

  9.《Excel函数、图表与透视表从入门到精通(修订版)》

  10.《来吧,带你玩转ExcelVBA》

  11.《ExcelVBA程序开发自学宝典(第3版)》

目录

上篇
第1章初步感受VBA的魅力
1.1批量任务一键执行
1.1.1准备工作
1.1.2程序测试
1.1.3案例点评
1.2多工作簿自动汇总
1.2.1案例需求
1.2.2程序测试
1.2.3案例点评
1.3浅谈VBA优势
1.3.1批量执行任务
1.3.2将复杂的任务简单化
1.3.3提升工作表数据的安全性
1.3.4提升数据的准确性
1.3.5完成Excel本身无法完成的任务
1.3.6开发专业程序
第2章VBA程序入门
2.1如何存放代码
2.1.1认识模块
2.1.2管理模块
2.2如何产生代码
2.2.1复制现有的代码
2.2.2录制宏
2.2.3手工编写代码
2.2.4从模板中获取代码
2.3如何调用代码
2.3.1F5键
2.3.2Alt+F8组合键
2.3.3自定义快捷键
2.3.4按钮
2.3.5菜单
2.4如何保存代码
2.4.1工作簿格式
2.4.2解决代码丢失问题
2.4.3显示文件扩展名
2.5如何放行代码
2.6如何查询代码帮助
2.6.1调用帮助系统
2.6.2为什么查看不了帮助
第3章VBA的程序结构分析
3.1子过程的结构
3.1.1认识程序结构
3.1.2为VBA程序添加注释
3.2子过程的作用范围
3.2.1何谓作用范围
3.2.2公有过程与私有过程的区别
3.3过程的命名规则
3.4过程的参数
3.5过程的执行流程
3.5.1正常的执行流程
3.5.2改变程序的执行流程
3.6中断过程
3.6.1结束过程:EndSub
3.6.2中途结束过程:Exitsub
3.6.3中途结束一切:End
3.6.4暂停过程:Stop
3.6.5手动暂停程序:Ctrl+Break
第4章VBA四大基本概念
4.1Excel的对象
4.1.1什么是对象
4.1.2对象与对象集合
4.1.3对象的层次结构
4.1.4父对象与子对象
4.1.5活动对象
4.2对象的方法和属性
4.2.1属性与方法的区别
4.2.2查询方法与属性的两种方法
4.2.3方法与属性的应用差异
4.3对象的事件
4.3.1什么是事件
4.3.2事件的分类及其层级关系
4.3.3工作簿事件与工作表事件一览
4.3.4工作簿与工作表事件的作用对象
4.3.5快速掌握事件过程
4.3.6何时需要使用事件过程
第5章通过变量强化程序功能
5.1数据类型
5.1.1为什么要区分数据类型
5.1.2认识VBA的数据类型
5.2声明变量
5.2.1变量的定义
5.2.2变量的声明方式
5.2.3变量的赋值方式与初始值
5.2.4如何确定变量的数据类型正确
5.2.5正确声明变量的数据类型的优势
5.2.6变量的作用域
5.2.7变量的生存周期
5.3对象变量
5.3.1如何区分对象变量和数据变量
5.3.2对变量赋值
5.3.3使用对象变量的优势
5.4声明常量
5.4.1常量的定义与用途
5.4.2常量的声明方式
5.4.3常量的命名规则
第6章深入剖析常见对象的引用方式
6.1关于对象
6.1.1对象的结构
6.1.2对象与对象的集合
6.1.3引用集合中的单一对象
6.1.4父对象与子对象
6.1.5活动对象
6.2对象的简化引用
6.2.1使用对象变量
6.2.2使用With语句
6.3单元格对象
6.3.1Range("A1")方式引用单元格
6.3.2Cells(1,1)方式引用单元格
6.3.3[a1]方式引用单元格
6.3.4Range("A1")、Cells(1,1)与[a1]引用单元格方式比较
6.3.5Selection与ActiveCell:当前选区与活动单元格
6.3.6已用区域与当前区域
6.3.7SpecialCells:按条件引用区域
6.3.8CurrentArray:引用数组区域
6.3.9Resize:重置区域大小
6.3.10Offset:根据偏移量引用新区域
6.3.11Union:多区域合集
6.3.12Intersect:单元格、区域的交集
6.3.13End:引用源区域的区域尾端的单元格
6.3.14RangeFromPoint:屏幕坐标下的单元格
6.4图形对象
6.4.1Shapes:图形对象集合
6.4.2图形对象的名称
6.4.3DrawingObjects:隐藏的图形对象集合
6.5表对象
6.5.1表的类别
6.5.2Worksheets:工作表集合
6.5.3引用工作表子集
6.5.4ActiveSheet:活动表
6.5.5工作表的特性
6.6工作簿对象
6.6.1工作簿格式与特性
6.6.2Workbooks:工作簿集合
6.6.3引用工作簿子集
6.6.4活动工作簿
第7章常用语句的语法剖析
7.1创建输入框
7.1.1Application.Inputbox方法
7.1.2基本语法
7.1.3案例应用
7.2条件判断语句
7.2.1IIF函数的语法与应用
7.2.2IIF函数的限制
7.2.3IFThen语句的语法详解
7.2.4IFThen应用案例
7.2.5IFThenElse语句的语法与应用
7.2.6多条件嵌套的条件判断语句
7.2.7SelectCase语法详解
7.2.8SelectCase与IFThenElse之比较
7.2.9借用Choose函数简化条件选择
7.3循环语句
7.3.1ForNext语句
7.3.2ForEachNext语句
7.3.3DoLoop语法详解
7.4错误处理语句
7.4.1错误类型与原因
7.4.2Err对象及其属性、方法
7.4.3认识Error函数
7.4.4OnErrorGoToline
7.4.5OnErrorResumeNext
7.4.6OnErrorGoTo0
7.5选择文件与文件夹
7.5.1认识FileDialog对象
7.5.2选择路径
7.5.3选择文件
7.5.4按类型选择文件
第8章让代码自动执行
8.1让宏自动执行
8.1.1Auto自动宏
8.1.2升级版自动宏:事件
8.1.3事件的禁用与启用
8.1.4事件的特例
8.2工作表事件应用案例
8.2.1在状态栏提示最大值的单元格地址
8.2.2快速录入出勤表
8.2.3在状态栏显示选区的字母、数字、汉字个数
8.2.4实时监控单元格每一次编辑的数据与时间
8.2.5利用数字简化公司名输入
8.2.6录入数据时自动跳过带公式的单元格
8.2.7对选择区域进行背景着色
8.3工作簿事件应用案例
8.3.1新建工作表时自动设置页眉
8.3.2未汇总则禁止打印与关闭工作簿
8.3.3为所有工作表设计一个阅读模式
8.3.4设计未启用宏就无法打开的工作簿
第9章综合应用案例
9.1Application应用案例
9.1.1计算字符表达式
9.1.2合并相同且相邻的单元格
9.1.3在指定时间提示行程安排
9.1.4模拟键盘快捷键打开高级选项
9.1.5使用快捷键合并与取消单元格
9.1.6查找至少两月未付货款的客户名称
9.2Range对象应用案例
9.2.1合并工作表
9.2.2合并区域且保留所有数据
9.2.3合并计算多区域的值
9.2.4模糊查找公司名称并罗列出来
9.2.5反向选择单元格
9.2.6插入图片并调整为选区大小
9.2.7提取唯一值
9.2.8隐藏所有公式结果为错误的单元格
9.3Comment对象应用案例
9.3.1在所有批注末尾添加指定日期
9.3.2生成图片批注
9.3.3添加个性化批注
9.3.4批量修改当前表的所有批注外观
9.4WorkSheet对象应用案例
9.4.1新建工作表且命名为今日日期
9.4.2批量保护工作表与解除保护
9.4.3为所有工作表设置水印
9.4.4批量命名工作表
9.4.5判断筛选条件
9.5Workbook对象应用案例
9.5.1拆分工作簿
9.5.2每10分钟备份一次工作簿
9.5.35分钟未编辑工作簿则自动备份
9.5.4记录文件打开次数
9.5.5不打开工作簿而提取数据
9.5.6建立指定文件夹下所有工作簿目录和工作表目录
第10章编程规则与代码优化
10.1代码编写规则
10.1.1对代码添加注释
10.1.2长代码分行
10.1.3代码缩进对齐
10.1.4声明有意义的变量名称
10.1.5IFThen…EndIf类配对语句的录入方式
10.1.6录入事件代码的方式
10.1.7录入属性与方法的技巧
10.1.8无提示的词组的录入技巧
10.1.9善用公共变量
10.1.10将比较大的过程分为多个再调用
10.1.11减少过程参数
10.1.12使用DoEvents转移控制权
10.1.13使用常量名称替代常数
10.1.14尽可能兼容Excel2003、2010和2013版本
10.2优化代码
10.2.1强制声明变量
10.2.2善用常量
10.2.3关闭屏幕更新
10.2.4利用With减少对象读取次数
10.2.5利用变量减少对象读取次数
10.2.6善用带$的字符串处理函数
10.2.7利用数组代替单元格对象
10.2.8不使用Select和Activate直接操作对象
10.2.9将与循环无关的语句放到循环语句外
10.2.10利用Instr函数简化字符串判断
10.2.11使用Replace函数简化字符串连接
第11章利用参数强化过程
11.1什么是参数
11.1.1参数的概念与用途
11.1.2参数的语法结构
11.2设计带有参数的Sub过程

前言/序言

  Excel是所有制表软件中最优秀、市场占有率最高的一款软件,这归功于它强大且灵活的制表功能和二次开发平台,通过二次开发平台可以让用户开发新的工具,从而实现Excel本身不具备的功能,或者弥补Excel自身的不足。
  ExcelVBA还可以实现操作自动化,让某些工作全自动完成,进而全方位提升工作效率,这使得Excel从众多制表软件中脱颖而出。
  通过VBA进行二次开发可以强化Excel的功能,将某些繁杂或者重复的日常工作简化,还可以通过VBA开发商业插件或者小型财务系统等。可以说ExcelVBA已完全融入办公文员的日常工作,拥有VBA就等于拥有效率。
  《Excel VBA程序开发自学宝典(第3版 附光盘)》结构
  《ExcelVBA程序开发自学宝典(第3版)》是适合自学的VBA教材,它包含了ExcelVBA的所有基础理论和高级应用。《Excel VBA程序开发自学宝典(第3版 附光盘)》24章,分上下篇,各包含12章。上篇讲述VBA相关的基础理论及综合练习,下篇提供VBA高级应用的相关知识。
  上篇主要介绍ExcelVBA的基础知识,并通过这些知识的综合应用加深读者的理解。具体包含VBA代码的产生方式、存放方式、调用方式、保存方式、程序结构、四大基本概念(对象、属性、方法和事件)、变量与数据类型、常用语句的语法介绍(包含创建输入框、条件判断语句、循环语句、错误处理语句、选择文件与文件夹),然后提供综合应用案例,帮助读者理解前面所介绍的基知识,从而让知识系统化。
  最后还提供编程规则与代码优化技巧,以及编程的捷径,教读者掌握更高效的编程方式,以及提升程序的效率。具体的章节名称如下:
  第1章初步感受VBA的魅力第2章VBA程序入门
  第3章VBA的程序结构分析第4章VBA四大基本概念
  第5章通过变量强化程序功能第6章深入剖析常见对象的引用方式
  第7章常用语句的语法剖析第8章让代码自动执行
  第9章综合应用案例第10章编程规则与代码优化
  第11章利用参数强化过程第12章编程的捷径
  下篇主要介绍ExcelVBA的高级应用,包含数组、正则表达式、自定义函数、设计窗体、FSO、类模块知识、注册表、功能区设计、插件设计和封装代码等知识。其中重点在于数组、字典、窗体、功能区、开发插件,对于任何一个VBA高级用户而言这些领域都是不可或缺的,掌握这些应用后才能开发出大中型的高效的程序。具体的章节名称如下:
  第13章利用数组提升程序效率第14章正则表达式与VBA
  第15章详解字典应用第16章开发自定义函数
  第17章设计窗体第18章处理文件与文件夹
  第19章认识类和类模块第20章VBA与注册表
  第21章Ribbon功能区设计第22章开发通用插件
  第23章代码封装技巧第24章开发逐步提示的数据录入助手__
  《Excel VBA程序开发自学宝典(第3版 附光盘)》特点
  相对于同类书籍,《Excel VBA程序开发自学宝典(第3版 附光盘)》在内容编排上具有以下特点。
  (1)除了对VBA语言的基础语法与常见对象的综合应用介绍以外,重点展示如何开发一个独立、完善、拥有专用菜单的通用程序,E灵(早期名称为“Excel百宝箱”,官方网址为http://excelbbx.net)正是基于《Excel VBA程序开发自学宝典(第3版 附光盘)》所介绍的知识点而开发的。
  通过《Excel VBA程序开发自学宝典(第3版 附光盘)》,你完全可以编写出自己的商业插件,也可以通过Excel插件大幅度提升工作效率,让以往可能需要一个小时的工作量在几秒内即可完成。
  (2)《Excel VBA程序开发自学宝典(第3版 附光盘)》基于Excel2010写作,但是代码通用于Excel2007、Excel2010和Excel2013。由于Excel2003即将被淘汰,因此《Excel VBA程序开发自学宝典(第3版 附光盘)》不再讲述传统菜单的设计方法,而是重点讲述功能区的开发思路,并提供若干功能区模板,从而让读者可以快速设计功能区组件。
  (3)《Excel VBA程序开发自学宝典(第3版 附光盘)》比较注重代码的通用性和效率,总结了多条优化代码的规则。
  (4)正则表达式可以强化VBA的字符处理能力,《Excel VBA程序开发自学宝典(第3版 附光盘)》详细地阐述了正则表达式的调用方法、语法,并提供了大量案例与思路,这在所有VBA书籍中是独一无二的。
  (5)详细教学保护代码的方法,防止他人查看自己的程序源代码。同时展示VBA代码加工成exe格式的可执行程序的思路,提升代码的易用性和专业性。
  (6)随书光盘中提供了书中的所有案例源代码,并对每一句代码提供含义注释,便于读者快速理解过程的含义与设计思路。
  光盘文件介绍
  《Excel VBA程序开发自学宝典(第3版 附光盘)》提供随书光盘一张,光盘中存放了案例文件、视频教材和Excel百宝箱。
  1.案例文件
  《Excel VBA程序开发自学宝典(第3版 附光盘)》的随书光盘中存放了书中的所有案例文件的源代码,读者在学习《Excel VBA程序开发自学宝典(第3版 附光盘)》前应该将随书光盘中的文件复制到磁盘中,然后将案例文件配合图书阅读,从而提升学习速度。切不可通过手工逐字摘抄书中代码的方式来测试代码,因为摘抄代码的出错概率太高了。
  2.视频文件
  《Excel VBA程序开发自学宝典(第3版 附光盘)》的随书光盘提供了8集VBA视频教材,读者可以看完《Excel VBA程序开发自学宝典(第3版 附光盘)》后再观看视频教材,但不宜先看视频后看图书。
  3.Excel百宝箱
  为了感谢读者对《Excel VBA程序开发自学宝典(第3版 附光盘)》的支持,特赠送大型插件“Excel百宝箱”。“Excel百宝箱”是一个Excel插件,拥有100多个功能,可以强化Excel,弥补Excel的某些缺陷——例如合并单元格再取消合并后会丢失数据的毛病,再如Excel只支持顶端标题不支持低端标题、可以新建工作表但不能批量新建等问题。
  随书光盘中提供了“Excel百宝箱”的安装文件,插件是开源的,未设置密码保护,读者可以随时查看其中的所有源代码。为了方便读者使用,光盘中还同步提供“Excel百宝箱”的动画教材,动画教材来自录像工具所生成的插件安装步骤和使用步骤,读者可以通过该动画教材快速掌握插件的每一个功能。
  下图是“Excel百宝箱”的操作界面:
  4.365个疑难问题
  为了提升读者解决问题的能力,以及扩展读者的知识面,特在光盘中提供365个常见疑难问题及答案。
  适合读者群
  《Excel VBA程序开发自学宝典(第3版 附光盘)》对VBA的基础理论有比较详尽的介绍,并提供了大量的案例引导读者逐步深入。
  《Excel VBA程序开发自学宝典(第3版 附光盘)》上篇介绍ExcelVBA的入门知识,适合编程零基础的人群阅读。
  《Excel VBA程序开发自学宝典(第3版 附光盘)》下篇提供ExcelVBA的高级知识应用,包括数组、类模块、正则表达式、功能区、窗体、封装代码等高级应用,同时还提供多个插件的开发过程演示,强化读者的动手能力,从实战中将基础理论转换为实战技能。
  因此,适合《Excel VBA程序开发自学宝典(第3版 附光盘)》的读者包括三类:
  (1)VBA零基础者,通过《Excel VBA程序开发自学宝典(第3版 附光盘)》踏入VBA的大门。
  (2)已有VBA基础但需要扩充知识面者。《Excel VBA程序开发自学宝典(第3版 附光盘)》涉及的VBA知识相当全面,包含了学习VBA所必需的基础知识,也提供了正则表达式、FSO、字典、注册表、功能区设计和封装代码等边缘性知识,从而让读者对VBA掌握得更全面。
  《Excel VBA程序开发自学宝典(第3版 附光盘)》还提供代码优化的诸多规则,掌握这些规则可让程序具有更强的通用性和执行效率。
  (3)已对VBA有相当的认识,但想开发更专业的商业软件者。《Excel VBA程序开发自学宝典(第3版 附光盘)》对开发加载宏、自动化加载项和COM加载项都有详细的阐述。同时还提供制作安装程序的教学思路。
  售后服务
  为了帮助读者快速掌握《Excel VBA程序开发自学宝典(第3版 附光盘)》的教学内容作者特为《Excel VBA程序开发自学宝典(第3版 附光盘)》提供售后服务QQ群,读者可以申请加入本群参与讨论以及就阅读过程中遇到的疑难向作者提问作者会随时在线提供解答。
  读者可以通过以上QQ群或者论坛反馈阅读心得,或者提交对《Excel VBA程序开发自学宝典(第3版 附光盘)》的建议。同时,如果读者发
  现书中有错别字,也请读者在QQ群中进行反馈,我们在下次印刷时将会改进。
  在阅读《Excel VBA程序开发自学宝典(第3版 附光盘)》时,有疑问可以随时在售后论坛发帖,有专人负责解答,周末无休。
  也可以向作者发送邮件获得帮助与答疑。
  感谢
  参与《Excel VBA程序开发自学宝典(第3版 附光盘)》编写工作的还有杨嘉恺、王丽云、姚书杰、龚莉、马世梅、余敏键、龚丹、王军、吴炎翠、王益明、杨阳、胡清春、葛度金、章兰新,在此表示感谢!
  罗刚君
  2014年7月


其他推荐