![]() 作者:罗刚君/杨嘉恺 出版社: 电子工业出版社 出版年: 2013-7 页数: 648 定价: 85.00元 装帧: 平装 ISBN: 9787121206276 内容简介 · · · · · ·本书旨在普及Excel VBA 基础理论,以及通过VBA 的高级应用扩展Excel 的功能,提升读者的制表效率,解决工作中的疑难,同时亦可借此开发商业插件。 本书主要分为操作自动化引言篇、入门篇、进阶篇和疑难解答篇,覆盖从入门到提高的所有内容,以满足不同层次的读者需求。其中操作自动化引言篇简述了操作自动化的需求与方式,借此引出VBA 入门篇。VBA 入门篇包含第2 章到第13 章,主要介绍了与VBA 相关的基本概念、常用语句的语法、错误处理技巧、使用数组、开发自定义函数和设计窗体等内容。进阶篇包含第14 章到第22 章,主要介绍了类的应用、读取网页数据、制作菜单、开发插件、保护代码、制作安装程序,及开发具有撤销功能的插件等内容。疑难解答篇即本书第23 章,该章提供了365 个疑难问答,帮助读者解决日常工作中的一些困惑。 本书每段代码都有思路分析,对每... 作者简介 · · · · · ·罗刚君是ExcelTip技巧网等近10个办公软件论坛的版主,有着丰富的Office应用经验和图书写作经验。著有《Excel VBA程序开发自学宝典》、《Excel 2010 VBA编程与实践》、《Excel 2010函数与图表速查手册》和《Excel函数、图表与透视表从入门到精通》等10本Excel图书,创建了数十个QQ群作为图书的售后服务群,读者可以随时与作者在线联系。 杨嘉恺是ExcelTip论坛的版主,对VBA读取网页数据和VBA操作数据库有着相当丰富的实战经验,读者可以随时通过论坛或者QQ群与作者交流。 目录 · · · · · ·第一篇 操作自动化引言篇第1章 操作自动化2 1.1自动化操作的价值.3 1.1.1自动化操作的必要性3 1.1.2实现操作自动化的两个途径4 1.2利用宏简化日常工作5 · · · · · ·() 第一篇 操作自动化引言篇 第1章 操作自动化2 1.1自动化操作的价值.3 1.1.1自动化操作的必要性3 1.1.2实现操作自动化的两个途径4 1.2利用宏简化日常工作5 1.2.1三分钟学会录制宏.5 1.2.2执行宏的方法8 1.2.3两种方法读懂宏代码9 1.2.4宏的优缺点分析12 1.2.5如何发挥宏的长处.13 1.3使用VBA强化Excel功能14 1.3.1追根溯源:什么是VBA14 1.3.2知己知彼:解析VBA的优缺点14 1.3.3窥斑见豹:从一个案例初识VBA.15 1.4 Excel VBA的发展前景.16 1.4.1简化工作16 1.4.2开拓专业17 1.5本书架构17 1.6课后思考18 第二篇 VBA入门篇 第2章 代码应用基础.20 2.1区分VBE代码窗口21 2.1.1认识VBE界面21 2.1.2最常用的代码存放区:标准模块22 2.1.3工作簿事件代码窗口:ThisWorkbook26 2.1.4工作表事件代码窗口:Sheet127 2.1.5窗体代码窗口:UserForm127 2.1.6创建隐藏对象的代码窗口:类模块.28 2.2录入代码28 2.2.1代码的存放位置28 2.2.2写入代码的方式28 2.2.3提升代码的可读性.30 2.2.4调用快速信息.35 2.3四种代码执行方式.35 2.3.1快捷键调用36 2.3.2单击按钮执行.37 2.3.3自动执行37 2.3.4在公式中调用.39 2.4保存代码40 2.4.1文件保存格式对VBA代码的影响40 2.4.2单独保存代码模块.41 2.5让代码畅通无阻41 2.5.1调整宏的安全等级.41 2.5.2添加受信任位置42 2.5.3将代码封装为加载项43 2.6反复调用相同代码.43 2.6.1使用个人宏工作簿.43 2.6.2加载宏.44 2.6.3加载项.44 2.7调用代码的帮助系统44 2.7.1什么是帮助45 2.7.2如何从帮助中查询代码含义45 2.7.3调用网络资源.47 2.8课后思考47 第3章 从概念开始认识VBA49 3.1认识过程50 3.1.1过程的分类50 3.1.2子过程的基本语法.50 3.1.3子过程的命名要求.52 3.1.4子过程的调用方法与访问限制.53 3.1.5过程的执行顺序54 3.1.6过程的递归56 3.2关于参数57 3.2.1参数的存在价值57 3.2.2过程名称中的参数.57 3.2.3参数的赋值方式58 3.2.4可选参数与必选参数60 3.2.5代码中的参数.61 3.3理解对象63 3.3.1什么是对象63 3.3.2对象的引用层次64 3.4对象的属性与方法.64 3.4.1认识属性与方法65 3.4.2自动调用属性与方法66 3.4.3怎样才算完整的VBA语句67 3.5对象的事件.68 3.5.1什么是事件.68 3.5.2事件的存在价值68 3.5.3事件的分类与代码录入方式69 3.5.4事件的参数.71 3.6课后思考72 第4章 详解对象及其层次结构74 4.1查看所有对象75 4.1.1从对象浏览器查看对象.75 4.1.2从帮助中调用对象信息.75 4.2对象的层次与引用方式.76 4.2.1对象的层次.76 4.2.2使用对象名称引用对象.76 4.2.3使用复数形式表示对象集合77 4.2.4使用序号参数引用集合中的子对象.78 4.2.5引用子对象.79 4.2.6引用活动对象80 4.2.7引用父对象.80 4.2.8利用WITH语句引用重复出现的对象.81 4.3 Range对象83 4.3.1 Range("A1")引用方式84 4.3.2 Cells(1,1)引用方式87 4.3.3 [a1]引用方式.87 4.3.4活动单元格:ActiveCell.88 4.3.5下一个单元格:Next89 4.3.6屏幕坐标下的单元格:RangeFromPoint89 4.3.7选区:Selection、RangeSelection90 4.3.8已用区域:UsedRange92 4.3.9当前区域:CurrentRegion94 4.3.10当前数组区域:CurrentArray95 4.3.11按条件引用区域:SpecialCells96 4.3.12模拟Ctrl+方向键产生的单元格:End.99 4.3.13按偏移量重置区域引用:Offset.101 4.3.14按宽度与高度重置区域:Resize103 4.3.15引用多区域的合集:Union104 4.3.16引用多区域的交集:Intersect104 4.3.17用名称引用区域107 4.4图形对象108 4.4.1 Shapes对象与子对象109 4.4.2图形对象的名称109 4.4.3 DrawingObjects 110 4.4.4图形对象的类别子集 110 4.5表对象. 112 4.5.1表的合集与子对象. 112 4.5.2表的分类 112 4.5.3活动表. 113 4.5.4隐藏工作表的特性. 113 4.5.5引用名字为数值的工作表的技巧 114 4.6工作簿对象. 115 4.6.1工作簿合集与子对象 115 4.6.2活动工作簿 115 4.6.3关于后缀名 116 4.6.4关于工作簿格式 117 4.7 Excel应用程序对象. 117 4.7.1 Excel的顶层对象:Application. 117 4.7.2调用子对象时可以省略Application吗 118 4.7.3不同版本的Excel之间的差异. 118 4.8课后思考 119 第5章 揭密数据类型与变量、常量.121 5.1数据类型122 5.1.1区分数据类型的必要性122 5.1.2数据类型的分类123 5.1.3转换数据类型.125 5.2定义变量127 5.2.1变量的用途128 5.2.2定义变量的方法129 5.2.3变量的命名规则130 5.2.4变量的作用域.131 5.2.5变量的生命周期133 5.2.6静态变量与动态变量的分别134 5.2.7声明对象变量.136 5.2.8对象变量的初始化与释放.137 5.3定义常量138 5.3.1常量的用途138 5.3.2常量的定义方式138 5.3.3变量与常量的异同分析140 5.4课后思考140 第6章 条件语句与循环语句.142 6.1 IF语句解析143 6.1.1条件语句的重要性.143 6.1.2 If.Then.Else的单行模式.143 6.1.3 And、Or和Not在条件语句中的作用.144 6.1.4案例解析:指定工作簿的最后开启日期146 6.1.5 If.Then.Else的块形式147 6.1.6块形式的应用案例:创建日期批注.148 6.1.7嵌套使用IF语句.150 6.1.8 IF语句的常见错误与防错之法.156 6.2 Select Case语句解析157 6.2.1 Select Case语句的价值.158 6.2.2 Select Case基本语法158 6.2.3多条件应用案例160 6.2.4 Select Case与IF Then语句比较163 6.3 IIF及Choose函数164 6.3.1 IIF函数语法解析.165 6.3.2 IIF函数案例应用:判断Excel的版本号.165 6.3.3 IIF的优缺点.166 6.3.4 Choose函数语法解析167 6.3.5 Choose函数应用案例:打开搜索引擎.167 6.4 For Next语句解析.169 6.4.1循环语句的价值169 6.4.2 For Next语句基本语法169 6.4.3步长值对循环结果的影响.171 6.4.4 For Next语句应用案例171 6.5 For Each Next语句解析.175 6.5.1遍历对象集合175 6.5.2 For Each…Next语句基本语法175 6.5.3 For Each…Next语句应用案例:定位大于某值的单元格176 6.6 While Wend语句解析178 6.6.1 While Wend语句基本语法.178 6.6.2 While Wend语句应用案例:判断工号是否重复179 6.7 DO Loop语句解析182 6.7.1 Do Loop语法分析.182 6.7.2 Do Loop语法一应用183 6.7.3 Do Loop语法二应用184 6.7.4 Do Loop语法三应用185 6.7.5 Do Loop语法四应用185 6.7.6总结四种循环语句的优缺点188 6.8课后思考189 第7章 4类常见对象的应用案例.191 7.1单元格对象.192 7.1.1选择单元格.192 7.1.2筛选与复制区域的值193 7.1.3多区域复制194 7.1.4选择性粘贴数据196 7.1.5重置已用数据区域.199 7.1.6查找所有成绩为100的单元格201 7.1.7将表示平方米和立方米后面的2和3设为上标202 7.1.8合并相邻且相同的单元格.203 7.1.9按行合并且保留所有数据.205 7.1.10隔行插入行.207 7.1.11标示选区中的重复值208 7.2图形对象210 7.2.1批量导入图片与图片名称.210 7.2.2统一表中所有图片大小及对齐图片212 7.2.3批量导出图片.214 7.2.4插入带图片背景的批注216 7.3工作表对象.219 7.3.1显示所有隐藏的工作表219 7.3.2创建以本月每日日期命名的工作表220 7.3.3保护所有公式.221 7.3.4批量重命名表.223 7.3.5查找所有工作表中有循环引用的单元格224 7.3.6对职工表按学历排序225 7.3.7创建工作表目录227 7.4工作簿对象.228 7.4.1打开带密码且带有自动宏的工作簿228 7.4.2另存工作簿且以今天的日期命名229 7.4.3将外部链接转换成值230 7.4.4关闭工作簿且不保存修改内容.231 7.4.5定时保存且备份工作簿233 7.4.6重命名活动工作簿.234 7.5课后思考236 第8章 深入剖析VBA的各种事件.238 8.1事件的级别与顺序.239 8.1.1事件的级别与代码保存位置239 8.1.2事件的执行方式240 8.1.3事件的执行顺序241 8.2禁用与启用事件241 8.2.1临时关闭事件.242 8.2.2防止事件的连锁反应242 8.3工作表事件详解244 8.3.1工作表事件列表244 8.3.2 Change事件的特例245 8.3.3事件案例:激活工作表时验证访问权限245 8.3.4事件案例:自动标示当前行的背景.247 8.3.5事件案例:双击单元格时定位最大值或最小值248 8.3.6事件案例:在特定区域右击单元格时产生工作表目录.250 8.3.7事件案例:输入表达式时在右列自动返回计算结果251 8.3.8事件案例:单击目录时可打开隐藏的工作表252 8.3.9事件案例:实时保护已录入数据的单元格.253 8.3.10事件案例:在状态栏显示当前科目的不及格人数.254 8.3.11事件案例:通过数据有效性的下拉列表调用对应的图片255 8.4工作簿事件详解256 8.4.1工作簿事件列表257 8.4.2事件案例:记录工作簿打开次数258 8.4.3事件案例:显示活动工作表中的产量达标率259 8.4.4事件案例:保存工作簿时备份文件.260 8.4.5事件案例:打印数据前检查资料是否填写完整261 8.4.6事件案例:关闭工作簿时更新工作表目录.262 8.4.7事件案例:新建工作表时调用模板格式263 8.4.8事件案例:禁止修改总表名称.264 8.4.9事件案例:新建图表时自动设置为阴影、圆角265 8.5应用程序事件详解.266 8.5.1应用程序与类266 8.5.2事件案例:打开任意工作簿时创建工作表目录266 8.5.3事件案例:新建工作簿时自动保存.268 8.6按时执行代码270 8.6.1 OnKey方法的语法分析270 8.6.2创建计划任务271 8.7课后思考271 第9章 处理代码错误.273 9.1代码错误类型分析.274 9.1.1版本问题274 9.1.2参数赋值不当274 9.1.3变量定义不准确276 9.1.4对象不存在.276 9.2错误处理语句277 9.2.1详解Err对象277 9.2.2详解Error函数.279 9.2.3 On Error Resume Next语句.280 9.2.4 On Error GoTo Line语句281 9.2.5 On Error GoTo 0语句283 9.2.6 GoSub.Return语句.284 9.3案例应用287 9.3.1错误处理的常规思路288 9.3.2案例应用:为软件设计收集信息反馈的功能.289 9.3.3案例应用:根据选区的文件名批量导入图片.292 9.3.4案例应用:一键屏弊错误值294 9.4课后思考295 第10章 使用数组提升程序效率297 10.1基本概念298 10.1.1何谓数组298 10.1.2数组的特点.298 10.1.3一维数组298 10.1.4二维数组301 10.1.5数组的参数.302 10.1.6声明数组变量.303 10.1.7动态数组与静态数组的分别306 10.1.8释放动态数组的存储空间. 311 10.2数组函数312 10.2.1用函数创建数组312 10.2.2获取数组元素.313 10.2.3判断变量是否为数组314 10.2.4转置数组314 10.2.5获取数组的上标与下标.316 10.2.6转换文本与数组317 10.2.7筛选数组319 10.3案例分析320 10.3.1将指定区域的单词统一为首字母大写.320 10.3.2罗列不及格人员姓名、科目和成绩322 10.3.3将字符串合并到区域323 10.3.4将职员表按学历拆分成多个工作表325 10.3.5将选区的数据在文本与数值间互换327 10.3.6获取两列数据的相同项.329 10.3.7罗列至少三科不及格的学生姓名331 10.4课后思考333 第11章 处理重复值335 11.1调用内部功能336 11.1.1高级筛选336 11.1.2删除重复项.342 11.1.3数组透视表.345 11.2 Collection:集合350 11.2.1集合的特性.350 11.2.2集合的语法.351 11.2.3使用集合获取区域中的不重复值354 11.2.4罗列B列重复出现的身份证号码356 11.3 Dictionary:字典357 11.3.1字典对象的前期绑定和后期绑定357 11.3.2字典的特点.360 11.3.3字典的属性与方法360 11.3.4 获取选区中的唯一值364 11.3.5对采购表分类求和366 11.3.6对采购表分类计数367 11.3.7对产量表按组别和产品分类统计368 11.4课后思考369 第12章 开发自定义函数372 12.1语法分析373 12.1.1 Function过程与Sub过程的区别.373 12.1.2 Function过程的基本语法.373 12.1.3 Optional与ParamArray的作用与区别.374 12.1.4自定义函数的命名规则.375 12.2开发简单的函数.375 12.2.1开发函数的常规思路375 12.2.2 Shui:计算个人所得税.376 12.2.3 EndRow:计算工作表最后非空行/列的行号/列号.378 12.3开发复杂函数380 12.3.1 Replacement:替换第N次出现的字符380 12.3.2 Look:Vlookup之升级版382 12.3.3 HeBin:按条件合并.384 12.4开发数组函数386 12.4.1 Only:获取一个或多个区域的唯一值.386 12.4.2 Statistics:对数据分类汇总.387 12.5为函数指定注释.390 12.5.1 MacroOptions的功能与语法.390 12.5.2为函数Look添加注释390 12.6课后思考392 第13章 设计程序窗体.394 13.1窗体与控件简介.395 13.1.1窗体的功能.395 13.1.2创建与运行UserForm对象.396 13.1.3使用工具箱.398 13.1.4标签控件400 13.1.5文本框控件.400 13.1.6命令控钮400 13.1.7复合框.401 13.1.8列表框.401 13.1.9复选框.402 13.1.10选项按框402 13.1.11框架.402 13.1.12切换按钮403 13.1.13多页控件404 13.1.14滚动条.405 13.1.15图像控件405 13.1.16 Flash控件405 13.1.17网页控件406 13.2设置属性407 13.2.1属性窗口的用途407 13.2.2设置属性的两种方式407 13.2.3文本框属性.409 13.2.4命令按钮属性.413 13.2.5复选框属性.415 13.2.6列表框属性.417 13.2.7复合框属性.422 13.2.8图像控件属性.425 13.2.9 Flash控件属性.426 13.2.10批量设置控件的属性426 13.3窗体与控件的事件.427 13.3.1 UserForm对象的事件427 13.3.2控件的事件.428 13.4窗体应用实战438 13.4.1开发多工作表查询窗体.438 13.4.2开发多工作表快速录入面板441 13.4.3以指定名称批量新建或复制工作表443 13.5课后思考448 第三篇 进阶篇 第14章 类模块应用450 14.1类模块基础.451 14.1.1类的概念与用途451 14.1.2声明与调用类.451 14.2 类模块与程序级事件453 14.2.1 在状态栏显示当前行的最大值与最小值地址453 14.2.2录入数据时自动将M后面的数字2显示为上标.455 14.3类模块与窗体控件.456 14.3.1何时需要使用类456 14.3.2为按钮批量指定MouseMove事件.456 14.4课后思考459 第15章 Excel VBA与Web应用461 15.1 Web基础知识.462 15.1.1 Web数据的收发原理.462 15.1.2 HTML以及网页元素分析465 15.2使用Web查询知识批量获取汇率466 15.2.1获取网页数据的实际网址466 15.2.2通过录制宏导入汇率首页数据.468 15.2.3完善宏代码批量导入网页数据.469 15.3运用Web数据收发机制获取网页信息470 15.3.1 Web数据通讯常用对象简介.470 15.3.2开发中英互译工具.471 15.3.3开发火车票查询工具474 15.4运用网页元素分析技术实现网页控制和读取480 15.4.1创建及访问IE对象480 15.4.2如何访问网页元素.481 15.4.3自动登录新浪微博.482 15.5课后思考485 第16章 创建传统工具栏与菜单487 16.1自定义工具栏488 16.1.1自定义工具栏模板.488 16.1.2自定义工具栏二级菜单模板489 16.2自定义工作表菜单.490 16.3自定义单元格右键菜单.492 16.4课后思考493 第17章 定义Ribbon功能区选项卡.495 17.1功能区开发基础.496 17.1.1 Ribbon的特点496 17.1.2功能区的组件图示.496 17.1.3手动定制功能区496 17.1.4认识Ribbon代码编辑器.497 17.1.5获取内置按钮图标.498 17.2 Ribbon定制之语法分析499 17.2.1功能区代码的结构.499 17.2.2显示与隐藏功能区:ribbon.501 17.2.3隐藏选项卡:tab.501 17.2.4创建新选项卡:tab502 17.2.5创建新组:group.503 17.2.6创建对话框启动器:dialogBoxLauncher505 17.2.7在组中添加命令按钮:button507 17.2.8创建切换按钮:toggleButton509 17.2.9标签与复选框:labelControl/ checkBox . 511 17.2.10在按钮之间添加分隔条:separator512 17.2.11创建弹出式菜单:menu.513 17.2.12创建拆分按钮:splitButton.514 17.2.13创建下拉列表:dropDown516 17.2.14创建编辑框:editBox.517 17.2.15锁定或隐藏内置功能518 17.3使用回调函数强化功能区.519 17.3.1为什么需要使用回调函数.519 17.3.2回调函数详解.520 17.3.3创建1到3号才能使用的按钮.522 17.3.4创建按下与弹起时自动切换图标的按钮524 17.3.5创建一个能显示图形对象数量的标签.526 17.3.6在功能区中快速查找527 17.3.7在组的标签处显示问候语.529 17.3.8调用大图片创建下拉菜单.531 17.3.9通过复选框控制错误标识的显示状态.534 17.4使用模板536 17.4.1模板的重要性.536 17.4.2模板的使用方法536 17.4.3制作两个模板.537 17.5创建Backstage 视图.540 17.5.1 Backstage 视图与Office按钮540 17.5.2在Backstage视图中添加按钮540 17.5.3添加子选项卡、组及命令按钮.542 17.5.4在新选项卡中创建弹出式菜单与说明.544 17.5.5将命令按钮显示在两列中.547 17.5.6创建导航菜单.550 17.5.7隐藏Backstage 视图中的所有按钮.552 17.6课后思考553 第18章 开发通用插件.555 18.1插件的分类.556 18.1.1什么是插件.556 18.1.2插件的分类.556 18.1.3开发插件和编写普通代码的分别556 18.2漫谈加载宏.557 18.2.1加载宏工作簿的特点557 18.2.2加载宏管理器.558 18.2.3加载宏的使用方法.558 18.2.4加载宏的安全性559 18.3制作工作表批量重命名插件559 18.3.1开发通用插件的基本步骤559 18.3.2罗列插件需求560 18.3.3设计插件窗体560 18.3.4编写代码562 18.3.5创建菜单与设置快捷键.564 18.3.6另存为加载宏565 18.3.7安装并测试功能566 18.4课后思考567 第19章 保护代码.569 19.1关于安全性.570 19.1.1保护代码的必要性.570 19.1.2保护代码的常用手法570 19.1.3 VB6.0封装VBA代码的基本步骤570 19.2封装“批量重命名”插件571 19.2.1安装VB 6.0企业版571 19.2.2创建VB工程571 19.2.3添加引用及完善外接程序描述.572 19.2.4导入窗体573 19.2.5声明应用程序接口及变量573 19.2.6编写菜单与功能区.574 19.2.7修改VBA代码576 19.2.8生成DLL文件.577 19.2.9安装与卸载插件577 19.2.10测试插件功能577 19.2.11 VB与VBA代码的差异分析.578 19.3封装函数579 19.3.1封装函数的两种方式579 19.3.2在Excel中编写并测试函数.580 19.3.3创建VB工程580 19.3.4添加引用及注释580 19.3.5粘贴VBA代码并修改代码581 19.3.6生成DLL文件.581 19.3.7安装与卸载插件581 19.3.8测试插件功能582 19.4课后思考582 第20章 制作安装程序.584 20.1准备工作585 20.1.1将VBA代码转换成安装程序的必要性585 20.1.2制作安装程序的常用软件585 20.1.3 Inno Setup简介585 20.1.4安装Inno Setup585 20.2设计“工作表批量命名”安装程序.585 20.2.1准备工作585 20.2.2通过脚本向导生成脚本代码586 20.2.3修改代码并编译成安装文件589 20.2.4安装软件589 20.2.5脚本代码含义解释.590 20.3设计更人性化的安装程序.591 20.3.1提示关闭Excel再安装.591 20.3.2添加安装密码.592 20.3.3设计可选安装项593 20.4课后思考594 第21章 让VBA代码也能撤销.596 21.1突破撤销限制597 21.1.1 VBA命令的撤销限制.597 21.1.2设计可以撤销的Sub过程的思路与步骤.597 21.1.3什么情况适合使用Application.OnUndo方法599 21.1.4 Application.OnRepeat方法重复执行命令.599 21.2可撤销的“简体转繁体”插件.600 21.2.1编写“简体转繁体”代码.600 21.2.2将普通过程加工成可撤销的插件600 21.3课后思考603 第22章 开发制作工资条工具.605 22.1认识工资条.606 22.1.1工资条的形式.606 22.1.2工资条工具的基本需求.606 22.2编写工资条程序606 22.2.1编写代码606 22.2.2测试代码607 22.3完善工资条工具608 22.3.1将工资条程序转换成工具基本思路608 22.3.2完善工资条工具608 22.4课后思考612 第四篇 疑难解答篇 第23章 365个常见问题答疑.614 附录A见随书光盘 · · · · · · () |
很接中国地气
正在看
脑洞之大,角度只独特让我震撼
不错,挺好的