寻,是一种尺度。古时八尺为一寻,王安石诗云“飞来峰上千寻塔,闻说鸡鸣见日升”,形容飞来峰上塔之极高。
寻,是一种技巧。今日网络为自学者提供了非常巨大的资源平台,但缺乏技巧的查询和求助,往往“众里寻他千百度”却难有“蓦然回首”的顿悟。而善用关键词搜索,则常可使人体会到“灯火阑珊”之美景。
寻,是一种追求。网络上活跃着这么一群人,他们曾经也是懵懂的菜鸟,在寻解获助时心存感激,在寻师问道时心怀崇敬。渐渐地,他们因互助的理念而聚集,相互扶持,坚持不懈地学习、实践与创新。面对一个个技术的据高点,他们是睿智而无私的“寻者”,壁立千寻敢登攀,寻根究底解疑难!
寻,是一种心境。求知探秘当志存华山论剑之高远,解决问题应意守无剑无招之寻常,这便是“寻者”修炼的心境。来者是客,有问必答,不慕华丽的招式,但求直击问题之根源,用简单的方法完成复杂的事情。
本丛书的作者就是这样的一群“寻者”。在长期的线上答疑和线下交流、培训活动中,他们接触过针对同一类问题千奇百怪的提问,深知许多人苦寻而不得的要害,甚至练就了一手仅根据含混不清的提问进行猜题、解题的本领。通过不断地积累与整理,Excel技巧网(技术社区)的版主们推出了“Excel疑难千寻千解”丛书,这些“疑难”都是许多人曾经搜索和提问过的,也是大多数用户在工作中可能会遇到的一些寻常问题。书中案例涉及行政办公、人力资源、金融财务、经济统计、学校教育、工程技术、医疗卫生、质量管理、生产管理等多个领域,并根据Excel的主要功能分册地整理成书。
在丛书编著过程中,“实用为主”的原则贯彻始终,所有案例都遵循实际工作场景和知识点解说紧密结合的主线,抛开一些华而不实、艰难晦涩的高深解法,而将基础理论和解决方案寓于寻常技巧之中,让读者能得其用、明其理,以期实现为更多的人解决更多问题的简单愿景。
寻者
感谢您选择“Excel 疑难千寻千解”丛书之《Excel 2010 VBA编程与实践》!
Excel 2010具有强大的运算与分析能力。从Excel 2007开始,改进的功能区使操作更直观、更快捷,实现了质的飞跃。不过需要进一步提升效率及实现自动化则仅靠功能区的菜单功能是远远不够的,正因如此,微软公司在Excel中引进了VBA程序,且首次在Excel中升级VBA到 7.0版本。通过VBA可以让复杂的报表简单化,且可以让部分操作全自动完成,十倍或者百倍的制表效率成为可能。
丛书介绍
“Excel 疑难千寻千解”丛书是由Excel技巧网的负责人、微软最有价值专家(MVP)黄朝阳先生策划并组织编写的一套系列书籍。
Excel技巧网旨在重点推广Excel 2010及今后更高版本的应用,并为广大的Excel爱好者提供一个内容充实、分类清晰、经典实用、精彩纷呈、互惠学习、友好交流的平台。社区成立不久便吸引了众多微软MVP和有志于推广电子表格应用技术的高手驻足,长期为网友免费解答疑难问题,并勤于将精彩的答疑帖子按其所涉及的知识和应用两个维度,整理成为原创技术文章。
社区设有讨论、文章、资源三大技术专区,并按照Excel的功能归属将主题划分为基础应用、数据透视表、条件格式、函数与公式、图表与图形、VBA、SQL in Excel、综合应用等方面,本丛书的各读本正是基于相近的主题分类。
本丛书由黄朝阳、王建发、陈国良等微软MVP以及罗刚君、荣胜军、李术彬、林盘生、陈树青、章兰新等多位社区资深版主联手打造,将来还将邀请更多高级会员加盟参与丛书其他读本的创作。其中《Excel 2010操作与技巧》、《Excel 2010函数与公式》、《Excel 2010 VBA编程与实践》已先于第一批出版,近期还将陆续推出《Excel 2010图表与图形》、《SQL in Excel 2010》等其他读本。
得益于多年来在社区答疑中的磨砺,作者们将丰富的实战经验付诸笔端,精心设计了上千案例,将Excel方方面面的知识点融入其中。每个案例都采用一般用户遇到疑难时最可能的提问方式和应用场景对问题进行描述,提供具有针对性的解决方案和详尽的操作步骤,并配合以原理分析和知识扩展环节,既授人以鱼,又授人以渔。丛书采用“疑难”加“知识点”的特色目录索引,方便读者根据需要快速地查找。对于渴望学习和掌握新知识的Excel用户来说,与其千百次地找寻问题答案,不如静心地读此丛书一卷。
读者对象
本书使用Microsoft Office Excel 2010界面进行编写,但是在编写过程中作者特意注重程序的通用性,确保每个案例的解决方案都通用于Excel 2003、2007和2010。而且为了方便读者,随书光盘中主要有两种格式的案例文件,包括xls格式和xlsm格式,如果是加载宏则包括xla格式和xlam格式。不管读者使用Excel 2003、2007还是2010都可以直接使用,不需要转换,也不需要修改代码就可以顺利的在多版中使用本书的所有案例。
本书通过250个案例和1个大型综合应用展示VBA编程技巧,适合所有办公制表人士,特别是需要提升工作效率及需要深入研究VBA者学习之用。如果您没有VBA基础,那么本书可以为您解决工作中的疑难。书中对常见问题有一个或者多个解决方案,并辅以解题思路与原理分析,读者可以通过书中的现有案例进行拓展,解决更多的类似问题。而对于已有VBA基础者,则可以学习本书的解题思路与代码防错技术、代码优化之道。本书的案例涉及基础应用、查找引用、数据处理、报表打印、函数开发、文件目录、图表设计、图形对象、窗体控件、插件开发、代码封装和在工资管理系统等诸多方面,可以全方位的提升VBA编程的功底,让您将VBA理论投入到工作中转换成效率。
阅读指南
本书包括11章,涉及制表的每个方面。前10章分别为基础理论篇、查找引用篇、数据处理篇、报表打印篇、函数开发篇、文件目录篇、图表设计篇、图形对象篇、窗体控件篇、插件开发篇,每章有数十个案例,且为了让读者能学以致用,每章提供3个思考与练习题。最后一章为综合应用,讲述通过VBA开发工资管理系统的思路。
详细的章节内容如下:
第1章:基础理论篇
本章包括5个小节——快速获取帮助、程序防错要点、代码优化之道、提升代码的兼容性。主要介绍VBA编程的一些基础知识、代码的纠错与优化,不过是以案例形式呈现出来,通过实际的应用让理论描述更有说服力。
第2章:查找引用篇
本章包括4个小节——本表查找、跨表及多表查找、文件查找与转换和图片查找与引用。主要讲述数据引用、图片引用的经典案例。其中对于查找提供了多种思路,尽量展示效率最高且具有容错性的代码与技巧。本章是全书的三大重点之一,通过大量的实例传授瞬间查找数据的技巧。
第3章:数据处理篇
本例包括7个小节——定位的技巧、数据处理及格式转换、单元格合并技巧、报表合并与拆分、单元格颜色的综合应用、重复数据处理和数据透视。本章是第二个重点,全面阐述VBA对数据处理的技巧。Excel本身具备数据处理的功能,而利用VBA可以大大提升数据处理的速度,本章属于办公制表人员必学范畴。
第4章:报表打印篇
本章包括2个小节——打印设置和特殊打印格式设计。主要讲述与打印或者打印格式设置方面的疑难处理技巧,包括工资条设计、分页小计、批量打印和底端标题等等相当常用的一些疑难处理。
第5章:函数开发篇
本例包括3个小节——自定义函数基础、开发自定义函数和自定义函数的管理。本章阐述开发函数的技巧与函数的管理思路,从而强化Excel的运算能力。
第6章:文件目录篇
本章包括2个小节——文件管理和目录管理。本章内容与制表本身无直接关系,但可以对文件和文件夹进行删除、备份、创建、转换、命名等等操作,对工作大有裨益。
第7章:图表设计篇
本章包括2个小节——图表编辑和多表管理。设计基本的图表比较适合手工操作,而对于图表或者图表中的标签批量操作时,VBA就有用武之地了,可使操作效率大大提升。
第8章:图形对象篇
本章包括3个小节——图形对象的基本操作、批注的高级应用和图形对象综合应用。与图形对象相关的高级应用不适合手工操作,本章通过21个案例演示VBA操作图形对象的技巧,包括导入、导出、引用、浏览等等操作。
第9章:窗体控件篇
本章包括4个小节——ActiveX控件应用、窗体设计技巧、窗体与工作表之数据交互和开发动画窗体。其中重点在于窗体与工作表数据交互的案例演示,通过窗体处理数据并导入、导出,可以实现很多Excel本身无法完成的功能。最后对窗体的美化技巧提供6种思路。
第10章:插件开发篇
本章包括3个小节——订制菜单与工具栏、开发通用插件和封装DLL插件。本章是本书第三个重点章节,通过案例展示VBA开发插件的强大功能,并附带开发功能区的步骤与技巧,使读者有中文功能区的开发有进一步认识。通过本章的案例,读得可以开发自己需要的插件,包括将插件封装,从而实现代码隐藏。
第11章:工资管理系统
本章讲述利用VBA开发一个中型系统的过程与思路,属于VBA的综合应用。
本书约定
为了熟悉本书对鼠标操作、键盘指令等描述方式,从而更顺畅地阅读本书,您有必要了解以下内容:
菜单
本书中表示连续多个菜单指令时,使用右箭头“→”进行连接,例如:单击“文件”选项卡→“选项”→“公式”,表示依次单击“文件”选项卡的“选项”按钮,在弹出的“Excel 选项”对话框中单击“公式”选项卡。
鼠标
本书中表示鼠标操作时,均使用标准的表示方法。其中“指向”表示将鼠标指针移到对象之上,且不单击任何按钮;而“单击”特指利用鼠标左键单击目标;“右键单击”表示利用鼠标的右键单击对象;“双击”表示快速按下鼠标左键两次;“拖放”则表示按下鼠标左键不松开的状态下拖动鼠标,拖到目标区域后再放开鼠标左键。
键盘
本书中表示按键时使用尖括号“【】”号包含,例如“按【Ctrl+Shift+Enter】组合键”表示同时按下键盘上的Ctrl键、Shift键和Enter键。其他按键的表示方法相同,如果需要特殊操作方法,会在相关内容中详细说明。
代码
本书的VBA代码均不区分大小写,在编写代码可以随意,但代码录入到代码窗口后,VBA会将代码自动转换成首字符大写形式,带引号的字符串和变量名除外。
本书特点
本书与市场上其他Excel书籍有很大的不同,文体结构新颖,案例贴近实际,讲解深入透彻,表现为以下几个方面:
场景式提问
本书从成千上万网友提问中精心归纳、提炼出各类问题,并还原为贴近真实的求助语言及案例,方便读者搜寻与实际工作相似问题。
增强式目录
本书总体章节划分以“基础理论→分类应用→综合实战”为主线,将VBA的主要知识点和经典解决方案设计到每个疑难的案例中,并采用“疑难”加“知识点”的特色目录索引,方便读者根据需要翻阅和查找。
开创式结构
本书案例中的“解决方案”环节是对问题的思路解说,结合“操作方法”环节中的步骤让人更容易理解。“原理分析”环节则主要解释所使用代码的工作原理。“知识扩展”环节包括与案例相关的知识点补充,可拓展读者的视野,同时也有利于理解案例本身的解决思路。
本书的代码还有两个显著的特点,有别于市场上其它同类书籍,即处处确保代码的防错与通用性。
防错
防错是指编写代码时尽可能考虑所有可能出错的情况,并在代码中加以防范。或者根据不同潜在的运行环境提供不同的执行方案,让代码可以多种情况下顺利执行,而不会弹出错误提示框导致程序中断。
通用
通用性是指代码可以适应不同环境。环境是指软件的不同版本,例如WIN XP、VISTA和WIN 7操作系统都可以顺序执行本书所有案例的代码,Excel 2003、2007和2010版本的用户也可以顺利执行每个案例的代码,且不需要做任何修改。
环境还包括表格的区域。本书尽可能不采用硬编码引用工作表对象和区域地址,而采用具备自动适应变化的代码作为数据处理的引用源,从而使代码适应不同用户或虽是同一用户但工作表数据区域变化时皆可使用。例如Range(A1:D10)引用区域属于硬编码,当数据区域变化后,代码必须修改才可执行;而采用ActiveSheet.UsedRange或者ActiveCell.CurrentRegion两种方法引用区域则可以适应数据区域的增减变化,从而提升代码的通用性。
学习方法
本书是VBA编程的案例集粹,其宗旨在于为读者解决实际工作的疑难,以及对同类的问题提供解决思路。
书中各章节的结构虽然是从易到难,但章节之间相互独立,即可以从任意章节开始学习,不需要遵照从前至后的顺序阅读。
本书每个案例中的“解决方案”部分表示对问题的思路解说,配合“操作方法”中的步骤和代码更容易理解。“原理分析”部分则主要包括两方面内容:代码中部分方法或者语句的语法解释,以及解决本疑难的理论依据。“知识扩展”部分包括与本例问题或者本代码相关的知识补充,用于扩展读者的知识范围,同时也有利于理解本例代码的思路。
本书是“Excel疑难千寻千解”丛书之一,可为读者解决VBA编程的疑难,同时也是作者罗刚君的另一本著作《Excel VBA程序开发自学宝典》的升级版与配套教材。《Excel VBA程序开发自学宝典》重点在于讲述VBA编程的基础理论和语法,并配有“Excel百宝箱”大型插件的设计过程详解,该书适合完全没有VBA基础者学习,而本书是该书配套的案例,可以使读者将理论付诸实践,解决实际工作中的疑难及开发属于自己的插件。
售后服务
本书由Excel技巧网(技术社区)出品,读者在阅读中有任何疑难或者建议、BUG反馈等都可以到社区发贴,包括求助、交流,也可以在社区下载与本书相关的文档。社区为本丛书开辟了一个专门的版面用于编读往来,同时本书也配备了专属的QQ群作为售后服务的联系方式,群号公布于上述网址,读者可以申请到群中与作者面对面交流。
购买本书除可以获取随书光盘中的所有案例文件外,还有两项服务,包括实用插件和Excel百宝箱。
实用插件是指随书光盘中的8个插件,位于“赠品”文件夹中。8个插件可以实现8个功能,同时学习插件的开发思路。每个插件附有源代码,每句代码都有含义注释,且配有使用说明。插件名称如下:
1.二级选单
可以像数据有效性一样产生下拉列表,但更强大,可以产生二级选单。
2.批注替换工具
可以批量替换批注文本的工具,且可设定区分大小写与匹配方式。
3.选项菜单设计
通它既可控制某些视图对象的显示与隐藏,又可学习选项菜单的设计思路。
4.一键录入代码
用于提升编写代码的速度与准确度,单击菜单即可录入常见代码。
5.复选框管理
可以批量生成复选框,也可以批量删除、勾选复选框,功能强大,操作方便。
6.历史数据记录器
将指定区域中每一个单元格的修改都记录在案备查,且同时记录修改时间。
7.增强型视图控制
是内置的视图工具的强化版本,更重要的是可以学习如何开发发功能区。
8.自定义函数封装
自定义函数Connect是&运算的强化版本,功能强大,且配备代码封装教材。
除以上服务外,如果读者同时购买本书和《Excel VBA程序开发自学宝典》,那么额外赠送三个实用插件和一个百宝箱8.0正式版。插件包括:
1.隐藏磁盘
可以将指定的磁盘隐藏起来,并禁用使用,从而确保文件安全。
2.隐藏错误值
可以将工作表中的所有错误值在隐藏与显示之间瞬间切换。
3.工作簿标签
在菜单产生工作簿标签的插件,让工作簿切换更方便、快捷。
百宝箱8.0是利用VBA开发的大型插件,百宝箱正版包括105个功能,可以大大强化Excel的功能,原价50元销售。对于读者可以免费赠送,可进入作者QQ群后向作者免费申请。
本书由黄朝阳策划,罗刚君和章兰新负责编写。其中第1、2、3、4、8、9、10和11章由罗刚君编写;第5、6、7章由章兰新编写,最后由罗刚君、黄朝阳完成统稿。
编著者
2010年8月28日
------------------------------------------------------------------------------------------------------------------------
申明:本书的所有案例和讲解都允许作为视频或面授培训的教材,但使用者必须遵循约定,在培训教材的明显处注明“全部(或部分)案例出自‘Excel疑难千寻千解’丛书之《Excel 2010 VBA编程与实践》”的字样,以确保作者著作权不受侵犯。