登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書

『簡體書』疑难千寻千解丛书Excel 2013 VBA编程与实践

書城自編碼: 2603388
分類:簡體書→大陸圖書→計算機/網絡家庭與辦公用書
作者: 罗刚君, 章兰新, 陈国良,黄朝阳 著
國際書號(ISBN): 9787121263965
出版社: 电子工业出版社
出版日期: 2015-07-01
版次: 1 印次: 1
頁數/字數: 580/937000
書度/開本: 16开 釘裝: 平装

售價:HK$ 164.7

我要買

 

** 我創建的書架 **
未登入.


新書推薦:
马拉松名将手记2:每个人都有自己的决战
《 马拉松名将手记2:每个人都有自己的决战 》

售價:HK$ 79.4
大家小书 译馆 骑士:历史与文化
《 大家小书 译馆 骑士:历史与文化 》

售價:HK$ 56.4
没有一种人生是完美的:百岁老人季羡林的人生智慧(读完季羡林,我再也不内耗了)
《 没有一种人生是完美的:百岁老人季羡林的人生智慧(读完季羡林,我再也不内耗了) 》

售價:HK$ 56.9
日耳曼通识译丛:复原力:心理抗逆力
《 日耳曼通识译丛:复原力:心理抗逆力 》

售價:HK$ 34.3
海外中国研究·未竟之业:近代中国的言行表率
《 海外中国研究·未竟之业:近代中国的言行表率 》

售價:HK$ 135.7
我们为何建造(城市与生态文明丛书)
《 我们为何建造(城市与生态文明丛书) 》

售價:HK$ 89.7
算法经济 : 商业逻辑与人类生活的智能演进(生动呈现AI与算法的创新应用与商业价值)
《 算法经济 : 商业逻辑与人类生活的智能演进(生动呈现AI与算法的创新应用与商业价值) 》

售價:HK$ 79.4
家书中的百年史
《 家书中的百年史 》

售價:HK$ 79.4

 

建議一齊購買:

+

HK$ 103.5
《Excel 2016实用技巧自学宝典》
+

HK$ 129.1
《从学徒到高手:玩转电脑装机与软硬件维修(含盘)》
+

HK$ 164.7
《疑难千寻千解丛书Excel 2013 函数与公式》
+

HK$ 146.2
《Excel 2013操作与技巧》
+

HK$ 83.3
《中老年人学电脑(配光盘)(学以致用系列丛书)》
+

HK$ 90.7
《电脑组装、维护与故障排除(配光盘)(学以致用系列丛书)》
編輯推薦:
与众不同,独树一帜;读者视角,全新解读。
每一个疑难案例,都源于网友现实的疑惑和困扰;
每一个解决案例,皆来自高手精妙的思路和讲解。
內容簡介:
本书为读者展示Excel VBA编程的实战技巧,包括工作中最常用的查询、定位、格式转换、报表拆分与合并、开发自定义函数、处理文件与文件夹、功能区设计,以及插件开发实战与原理分析。本书侧重于解决问题和展示解题思路,案例包含诸多常见疑难的解决方案。阅读本书后,读者可以解决工作中的诸多疑难杂症,大大提高工作效率,且有助于提升编程能力,拓展思路,将理论向实战迈进。
好的代码应该同时具备准确、纠错、兼容和效率四个特性,本书所有的案例都在准确性与高效性的基础上提供完善的错误处理措施与思路讲解。
全书包括205个实用案例和一个大型综合应用——开发送货单套打程序系统。书中的每个案例采取疑难描述、解决方案、操作方法、原理分析和知识扩展五个步骤进行讲解,力图在解决问题的同时让读者可以通晓其思路和原理。
读者在学习本书的同时,如果配合VBA入门图书《来吧,带你玩转Excel VBA》或者《Excel VBA程序开发自学宝典(第3版)》学习,将会取得更好的效果。另外,本书附赠了书中所有的案例文件与源代码,读者可到网上下载学习。
關於作者:
黄朝阳,网名apolloh,ExcelTip.net站长,微软全球最有价值专家(MVP)。拥有十多年丰富的企业信息化实践和管理经验,精通Excel和MS SQL在企业中的应用。早期曾在多个Office技术社区担任版主,参与过多部Excel畅销书的编著工作。微博:@Office高端培训
罗刚君,网名andysky,ExcelTip.net技术社区版主,多个Office技术社区资深版主,从事Excel软件研究与写作多年,精通Excel VBA与函数、图表。在公司担任电脑技术管理,对办公应用有较丰富的实战经验和心得。目前已经出版过13部Excel相关著作。微博:http:weibo.comexcelbbx。
章兰新,网名zlxtl,ExcelTip.net技术社区版主,多个Office技术社区资深版主,
拥有十多年丰富的政府信息化实践、管理和组织实施经验,精通Excel和MSSQL在管理中的应用。长期在政府财政经济部门实施电脑技术与管理、统计、数据分析相融合的工作,一直致力于推广Excel和数据库技术,对办公应用有极丰富的实战经验和心得。微博:http:weibo.cometvba。
陈国良,网名gouweicao78,微软全球最有价值专家(MVP),ExcelTip.net技术社区总版主,多个Office技术社区资深版主,从事公路、铁路工程建设管理十多年,精通Excel函数与公式,具有丰富的实战经验,参与过多部Excel畅销书的编著工作。
目錄
第1章 基础理论
1.1 变量、常量与数据类型
1.2 程序防错要点
1.3 练习与思考
第2章 数据查找技巧
2.1 快速查找
2.2 跨表查找内容
2.3 文件查找与转换
2.4 图片查找与引用
2.5 练习与思考
第3章 数据处理
3.1 按条件定位的技巧
3.2 数据处理及格式转换
3.3 单元格合并技巧
3.4 报表合并与拆分
3.5 单元格颜色的综合应用
3.6 重复数据处理
第4章 报表打印
4.1 打印设置
4.2 特殊打印格式设计
4.3 思考与练习
第5章 借用事件让程序自动化
5.1 工作表事件
5.2 工作簿事件
5.3 应用程序事件
5.4 思考与练习
第6章 开发自定义函数
6.1 自定义函数基础
6.2 开发自定义函数
6.3 开发具有可选参数的自定义函数
6.4 思考与练习
第7章 文件与文件夹管理
7.1 文件管理
7.2 文件夹管理
7.3 思考与练习
第8章 VBA操作图表
8.1 利用VBA批量修改图表格式
8.2 思考与练习
第9章 VBA操作图形对象
9.1 图形对象的批量操作
9.2 批注的高级应用
9.3 图形对象综合应用
9.4 练习与思考
第10章 窗体控件应用
10.1 ActiveX控件应用
10.2 窗体设计技巧
10.3 窗体与工作表之数据交互
10.4 练习与思考
第11章 功能区菜单与backstage视图设计
11.1 创建功能区菜单
11.2 backstage视图设计
11.3 思考与练习
第12章 用VBA访问网络资源
12.1 导入网页列表
12.2 导入不规范的网页数据
12.3 练习与思考
第13章 设计Excel通用工具
13.1 开发Excel插件
13.2 封装代码
13.3 设计安装程序
13.4 练习与思考
第14章 开发送货单套打程序
14.1 罗列需求
14.2 设计表格
14.2.1 工作表职能分配
14.2.2 设计“配置”工作表
14.2.3 设计“打印界面”工作表
14.2.4 设计“明细表”工作表
14.3 编写代码
14.3.1 为品名、品牌和型号创建下拉列表
14.3.2 开发小写金额转大写金额的函数
14.3.3 生成送货单号
14.3.4 打印并保存数据
14.3.5 批量打印历史数据
14.3.6 保存并清空数据
14.3.7 创建数据透视表
14.3.8 功能说明
14.4 设计菜单
14.5 测试功能
14.5.1 测试“生成送货单号”
14.5.2 测试品名、品牌与型号的录入方式
14.5.3 测试“打印当前货单”
14.5.4 测试“打印历史记录”
14.5.5 测试“创建透视表”
14.5.6 测试对话框启动器
14.5.7 总结
內容試閱
疑难5 如何开发完善的程序
编写代码解决一个工作问题是很简单的,但是如何让程序完善,可以适应所有的环境,且通用、兼容、可防错,这是一门相当复杂的学问。那么如何开发一个完善的程序?如何及时地防止过程中的所有错误呢?
解决方案
通过常规思路开发一段程序完成基本需求,然后查找存在的问题并进行完善;再对新的过程审核是否有新问题,继续完善,直到代码可以应对一切外部环境。
本节以“让用户从对话框输入一个值,并对该值开平方后写入活动单元格”为例,展示利用VBA解决此问题且逐步完善程序的过程。
操作方法
步骤1 按组合键打开VBE窗口,然后插入模块,并在模块中录入以下代码:
Sub 获取平方根1 ''第一次编写的代码,直接解决问题
Dim Value As Long ''声明一个Long型变量
''让用户录入一个值,将该值赋予变量Value
Value = InputBox""请输入数值:"", ""待开方之数值"", 0
ActiveCell.Value = SqrValue ''对变量计算平方根
End Sub
步骤2 按键执行以上过程,并输入100或者789、123.455等数据进行测试,可以发现当前代码已实现需求的功能。然而,如果用户在对话框中单击“取消”按钮,那么程序会出错。用户很难通过出错提示了解出错的原因,而且假设后面还有其他代码,程序将不再执行。为了解决以上问题,修改代码为:
Sub 获取平方根2 ''解问按“取消”键问题
Dim Value As Variant
Value = InputBox""请输入数值:"", ""待开方之数值"", 0
If LenValue = 0 Then Exit Sub ''如果变量的值长度为0,那么结束过程,不弹 ''出错误提示
ActiveCell.Value = SqrValue
End Sub
步骤3 再次执行程序,单击“取消”按钮后会发现程序自动退出,不弹出错误提示,具有防错功能。也可以将“Exit sub”语句修改为其他代码,从而实现单击“取消”按钮后程序得以继续执行。
不过当输入一个负数时,程序仍然会出错,且自动中断,因此需要继续改进代码。改进后的代码如下:
Sub 获取平方根3 ''解决负数问题
Dim Value
Value = InputBox""请输入数值:"", ""待开方之数值"", 0
If LenValue = 0 Then Exit Sub ''如果变量的值长度为0,那么结束过程,不弹 ''出错误提示
''若变量Value的值大于或等于0,则对变量开平方,且将结果存放在活动单元格,否则提示用户
If Value = 0 Then ActiveCell.Value = SqrValue Else MsgBox ""不能小于0""
End Sub
步骤4 当输入负数后,程序会提示用户且自动结束过程,但如果用户输入文本,那么程序仍然会出错,所以再次对代码做优化:
Sub 获取平方根4 ''解决文本问题
Dim Value
Value = InputBox""请输入数值:"", ""待开方之数值"", 0
If LenValue = 0 Then Exit Sub ''如果变量的值长度为0,那么结束过程,不''弹出错误提示
If IsNumericValue Then ''如果变量Value的值是数值
''若变量Value的值大于或等于0,则对变量开平方,且将结果存放在活动单元格,否则提示用户
If Value = 0 Then ActiveCell.Value = SqrValue Else MsgBox ""不能小于0""
Else ''否则,提示不能输入文本
MsgBox ""不能输入文本"", 64, ""提示""
End If
End Sub
步骤5 如果输入文本,程序具有了识别并警告用户的功能。然而,活动表是图表时,执行程序时仍然会出错。完善的程序需要处理所有的意外,那么程序可以做如下改进:
Sub 获取平方根5 ''解决图表问题
Dim Value
''如果活动表是图表,那么提示用户,而且结束过程
If TypeNameActiveSheet = ""Chart"" Then MsgBox ""不要选择图表"": Exit Sub
Value = InputBox""请输入数值:"", ""待开方之数值"", 0
If LenValue = 0 Then Exit Sub ''如果变量的值长度为0,那么结束过程,不''弹出错误提示
If IsNumericValue Then ''如果变量Value的值是数值
''若变量Value的值大于或等于0,则对变量开平方,且将结果存放在活动单元格,否则提示用户
If Value = 0 Then ActiveCell.Value = SqrValue Else MsgBox ""不能小于0""
Else ''否则,提示不能输入文本
MsgBox ""不能输入文本"", 64, ""提示""
End If
End Sub
步骤6 如果工作表在被保护状态下执行以上程序仍然会出错,继续完善代码:
Sub 获取平方根6 ''解决工作表保护问题
Dim Value
''如果活动表是图表,那么提示用户,而且结束过程
If TypeNameActiveSheet = ""Chart"" Then MsgBox ""不要选择图表"": Exit Sub
''如果活动表处于保护状态,那么提示用户,然后结束过程
If ActiveSheet.ProtectContents Then MsgBox ""工作表已保护"": Exit Sub
Value = InputBox""请输入数值:"", ""待开方之数值"", 0
If LenValue = 0 Then Exit Sub ''如果变量的值长度为0,那么结束过程,不''弹出错误提示
If IsNumericValue Then ''如果变量Value的值是数值
''若变量Value的值大于或等于0,那么对变量开平方,且将结果存放在活动单元格,否则提示用户
If Value = 0 Then ActiveCell.Value = SqrValue Else MsgBox ""不能小于0""
Else ''否则,提示不能输入文本
MsgBox ""不能输入文本"", 64, ""提示""
End If
End Sub
步骤7 如果活动单元格处于数组区域之间,程序仍然会产生错误,所以最后将代码优化为:
Sub 获取平方根7 ''解决数组区域问题
Dim Value
''如果活动表是图表,那么提示用户,而且结束过程
If TypeNameActiveSheet = ""Chart"" Then MsgBox ""不要选择图表"": Exit Sub
''如果活动表处于保护状态,那么提示用户,然后结束过程
If ActiveSheet.ProtectContents Then MsgBox ""工作表已保护"": Exit Sub
Value = InputBox""请输入数值:"", ""待开方之数值"", 0
If LenValue = 0 Then Exit Sub ''如果变量的值长度为0,那么结束过程,不''弹出错误提示
If IsNumericValue Then ''如果变量Value的值是数值
On Error Resume Next ''如果代码出错,继续执行下一步
Debug.Print ActiveCell.CurrentArray ''将活动单元格的当前数据区域地址输''出到立即窗口
''如果没有错误表示处于数组区域中,那么提示用户,然后结束过程
If Err = 0 Then MsgBox ""请不要选择数组区域"": Exit Sub
''若变量Value的值大于或等于0,则对变量开平方,且将结果存放在活动单元格,否则提示用户
If Value = 0 Then ActiveCell.Value = SqrValue Else MsgBox ""不能小于0""
Else ''否则,提示不能输入文本
MsgBox ""不能输入文本"", 64, ""提示""
End If
End Sub
原理分析
编程的基本条件是准确性。然而程序除了准确以外,还必须具备防错和通用的特性,否则代码在当前状态下能正确执行,环境稍加变化就出现错误,将会增加维护成本。一个好的程序应该尽量通用于所有的状况,而本例正是通过一个典范来展示程序的完善过程,让读者了解程序可能出现的错误,并提供所有错误的解决之道。在实际工作中,都应该严格按此思路编写代码,提升程序的准确性、纠错性,同时也减少维护成本。
知识扩展
数组区域对VBA程序的影响
(1)区域数组公式是同时存在于多个连续单元格中带有“{}”标志的公式,将它输入到工作表后会占据一个区域的空间,而非单个单元格,该区域即为数组区域。它的特性是不能单独修改区域中任意一个单元格,如果代码修改其中一个单元格,程序会因出错而中断。
(2)本例其实也可以利用“On Error Resume Next”语句一次性解决所有的问题,其代码如下。不过如果执行程序后得不到结果,就无法知道出错的原因。
Sub 获取平方根8 ''解决所有的问题
On Error Resume Next
ActiveCell.Value = SqrApplication.InputBox""请输入数值:"", ""开平方"", 0, , , , , 1
End Sub
注意
本书中编程的主题是准确性、效率、防错性和兼容性,代码一定要对所有的错误进行防范,确保程序通用。然而为了节约篇幅,让书中展现更多的内容,我们尽量减少重复代码,对工作表是否保护、当前表是否为图表,以及活动单元格是否处于数组区域之间就不再对每个案例都进行判断了,

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 大陸用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2024 (香港)大書城有限公司  All Rights Reserved.