内容简介
ExcelVBA相关的疑难解答,对工作中常用的疑难提供解题思路、代码,以及提供原理分析、知识扩展。全书包括270多个常见的疑难解答,最后还提供一个VBA综合应用——利用VBA开发工资管理系统。《Excel疑难千寻千解丛书:Excel 2010 VBA编程与实践(附CD光盘1张)》代码可以在Excel2003、2007和2010通用,不限制版本。
作者简介
黄朝阳,Exceltip.net站长,微软全球有价值专家(MVP)。拥有十多年丰富的企业信息化实践和管理经验,精通Excel和MS SQL在企业中的应用。早期曾在多个Office技术社区担任版主,参与过多部Excel畅销书的编著工作。
罗刚君,网名andysky,ExcelTip.net技术社区版主,多个Office技术社区资深版主,从事Excel VBA与函数、图表。在公司担任电脑技术管理,对办公应用有较丰富的实战经验和心得。目前已经出版过9部Excel相关著作。
章兰新,网名zlxtl,ExcelTip.net技术社区版主,多个Office技术社区资深版主,拥有十多年丰富的政府信息化实践、管理和组织实施经验,精通Excel和MS SQL在管理中的应用。长期在政府财政经济部门实施电脑技术与管理、统计、数据分析相融合的工作,一直致力于推广Excel和数据库技术,对办公应用有极丰富的实战经验和心得。
罗刚君,网名andysky,ExcelTip.net技术社区版主,多个Office技术社区资深版主,从事Excel VBA与函数、图表。在公司担任电脑技术管理,对办公应用有较丰富的实战经验和心得。目前已经出版过9部Excel相关著作。
章兰新,网名zlxtl,ExcelTip.net技术社区版主,多个Office技术社区资深版主,拥有十多年丰富的政府信息化实践、管理和组织实施经验,精通Excel和MS SQL在管理中的应用。长期在政府财政经济部门实施电脑技术与管理、统计、数据分析相融合的工作,一直致力于推广Excel和数据库技术,对办公应用有极丰富的实战经验和心得。
目录
内容简介
序一
序二
自序
本书好评
前言
丛书介绍
读者对象
阅读指南
本书约定
本书特点
学习方法
售后服务
作者与致谢
第1章 基础理论
1.1 快速获取帮助
疑难1 如何获取所有控件的属性及属性值
疑难2 部分对象在输入时没有成员列表提示,如何解决
疑难3 如何找出错误语句及获取错误原因并发送到开发者邮箱
1.2 程序防错要点
疑难4 程序出错有哪些原因
疑难5 如何获取VBA所有运行时错误的详细说明
疑难6 如何在执行完毕后报告出错次数及原因
疑难7 如何开发完善的程序
疑难8 防错语句在程序或者函数中应用有哪些优势
1.3 代码优化之道
疑难9 如何优化过程“隐藏偶数行”
疑难10 如何优化过程“设置字体属性”
疑难11 如何优化过程“隔三行求和”
疑难12 如何优化过程“B列所有图片右移”
疑难13 如何优化过程“建工作表目录”
疑难14 如何优化过程“成绩评语”
疑难15 如何优化过程“删除空单元格所在行”
疑难16 如何优化过程“批量修改批注背景色”
疑难17 如何优化过程“隔一行插入一行”
疑难18 如何优化过程“获取外网IP地址”
1.4 提升代码的兼容性
疑难19 程序的兼容性体现在哪些方面
疑难20 如何让程序适应不确定对象
疑难21 如何让程序兼容Excel多版本
疑难22 如何让程序兼容英文和中文系统
疑难23 如何让程序兼容简体与繁体中文
1.5 练习与思考
第2章 查找引用
2.1 本表查找
疑难24 如何查找不及格学生姓名并突出显示
疑难25 如何一次性罗列表中三省员工的姓名
疑难26 如何在输入时逐步查找
疑难27 如何按指定的格式查找
疑难28 如何实现字体格式替换
疑难29 如何查找所有“#”并标为上标
疑难30 如何找出还款时间超过一年及未还款的客户信息
疑难31 可以将查找到的所有数据串连并写入剪贴板中吗
疑难32 可以创建一个工具栏来方便查找吗
疑难33 如何快速罗列出每个产品最新报价
疑难34 如何在具有合并单元格的区域中多条件逐步查找
疑难35 如何查找成绩并分批发邮件
2.2 跨表及多表查找
疑难36 如何引用数据表创建多级下拉菜单
疑难37 如何将所有表中查找的完成数汇总到总表
疑难38 在窗体中罗列每月产量冠军名单
疑难39 如何将具有外部数据引用的单元格转换成值
疑难40 如何让链接到其他表中隐藏单元格的超链接生效
疑难41 如何实现多部门电话资料模糊查询
疑难42 如何实现所有未收货款者在状态栏随机显示
2.3 文件查找与转换
疑难43 如何判断指定文件是否存在
疑难44 如何进行深度查找且创建文件目录
疑难45 如何查找并备份所有“3月生产表”
疑难46 如何将所有Excel文件转换成XPS或PDF文件
疑难47 如何在网上邻居的共享盘中查找并打开“单价表”
疑难48 如何实现全盘查找“上海滩.MP3”,有则自动翻放
疑难49 如何在网上自动搜索与当前单元格同名的歌曲并播放
2.4 图片查找与引用
疑难50 如何瞬间删除当前表中所有图片
疑难51 可以将签名图片复制到表中所有签名处吗
疑难52 如何像vlookup引用数据一样引用图片
疑难53 如何通过窗体预览指定目录中的所有图片
2.5 练习与思考
第3章 数据处理
3.1 定位的技巧
疑难54 如何选择当前表0~100之外的数据
疑难55 如何定位奇数行
疑难56 可以瞬间定位并隐藏所有错误值吗
疑难57 如何在输入数据时自动定位下一行的目标单元格
疑难58 可以将标题以外的区域转换成“万”为单位吗
疑难59 如何定位当前表最大值和最小值
疑难60 能定位并标识高于平均值的单元格吗
疑难61 如何反向选择工作表区域
3.2 数据处理及格式转换
疑难62 如何将单词在大写、小写与首字母大写间任意切换
疑难63 如何将二维的入库表转换成一维排版方式
疑难64 能否不用循环对选区进行横向与纵向汇总
疑难65 如何批量地将字符串中的字母、数字和汉字分离出来
疑难66 可以将表达式转换成运算结果吗
疑难67 如何快速填充所有空单元格
疑难68 如何将产品销售地区瞬间转换成下拉列表
疑难69 数据有效性可以设置三级关联下拉列表吗
疑难70 可以对职员信息表按学历排序吗
疑难71 可以不打开工作簿而提取其数据吗
疑难72 如何保护所有公式不能修改
疑难73 如何实现金额数据分解
疑难74 VBA可以破解工作表密码吗
疑难75 如何对分段编号进行合并转换
疑难76 如何将5个大小相同选区的数据互换
疑难77 如何取得1000之内的质数
疑难78 可以生成指定范围的不重复随机数吗
疑难79 如何利用VBA对工作簿进行减肥
疑难80 如何让数字在文本与数值之间快速切换
疑难81 如何将“/”分隔的数据进行汇总
疑难82 可以对指定区域进行自动更正吗
疑难83 可以对包括“星期”的所有工作表同时添加公式吗
疑难84 在VBA中如何控制字符朗读
疑难85 能实现粘贴数据时跳过隐藏区吗
疑难86 如何对相同值进行标识着色
疑难87 如何根据工资计算零钞数量
疑难88 如何批量实现区域数据真正四舍五入
疑难89 如何优化具有大量公式引用的数据计算
3.3 单元格合并技巧
疑难90 可以在表格中合并同类项吗
疑难91 如何实现按产品合并产量数据表
疑难92 如何实现合并时保留所有数据,而拆分时可以还原
疑难93 可以选择当前表所有合并单元格吗
疑难94 如何取消所有合并区域并且对所有单元格填充数据
疑难95 合并单元格后仍然可以正常引用区域中的所有值吗
疑难96 如何将指定单元格合并链接到一个选区
疑难97 跨页合并单元格可以重新合并从而适应分页打印吗
疑难98 可以让合并单元格自动换行吗
3.4 报表合并与拆分
疑难99 如何合并所有工作表到一个表中
疑难100 如何实现多表合并汇总
疑难101 如何将多个工作簿中的所有工作表合并到一个工作表中
疑难102 如何将多个工作簿数据合并到一个工作簿中
疑难103 如何实现报表拆分
疑难104 如何将工作簿中每个工作表转换为独立工作表
3.5 单元格颜色的综合应用
疑难105 Excel不同版本在颜色处理方面有分别吗
疑难106 可以对Excel 2010的按颜色筛选再做扩展吗
疑难107 如何让按颜色排序可以在Excel多版本间通用
疑难108 如何将颜色分类重排且通用于Excel多个版本
疑难109 可以按颜色对选区数据分类汇总吗
疑难110 如何用函数对数据背景和字体按颜色汇总
3.6 重复数据处理
疑难111 如何清空重复值单元格并标识
疑难112 可以对重复出现的数据进行圈释吗
疑难113 如何筛选唯一值
疑难114 可以在输入重复值时提示用户吗
疑难115 如何对两列数据提取相同项与不同项
疑难116 如何将多行多列相同者保留最后一个数据
3.7 数据透视
疑难117 如何按职务或部门进行工资数据的透视分析
疑难118 如何实现多重数据透视
疑难119 如何实现同时透视多工作簿中的多工作表数据
3.8 练习与思考
第4章 报表打印
4.1 打印设置
疑难120 如何一次性设置“总表”以外工作表的页脚
疑难121 如何设置所有工作表的已用区域为打印区域
疑难122 可以记录工作簿的打印次数吗→解决方案
4.2 特殊打印格式设计
疑难123 如何设计工资条打印格式
疑难124 如何打印工资卡
疑难125 VBA可以实现对工作表分页小计吗
疑难126 如何同时打印顶端标题和底端标题行
疑难127 可以借用图片实现底端标题打印吗
疑难128 如何制作针式多联打印机打印格式的报表
疑难129 如何实现双面打印
疑难130 可以仅仅打印活动单元格所在页吗
4.3 练习与思考
第5章 函数开发
5.1 自定义函数基础
疑难131 如何开发自定义函数
疑难132 函数与参数名规则如何
疑难133 自定义函数在不同版本中有何差异
5.2 开发自定义函数
疑难134 如何对区域内混杂字符串中的数字求和
疑难135 如何分离字符串中的数值、英文和汉字
疑难136 如何将文本混杂字符串及表达式转换为值
疑难137 如何按时间段计算汇总金额
疑难138 如何对具有分隔符的数据分类汇总
疑难139 可以取姓名的汉语拼音首字母吗
疑难140 超过15位的数字如何求和
疑难141 可以扩展Vlookup函数实现返回多个结果吗
疑难142 如何利用函数创建文件目录
疑难143 可以用函数连接内存数据和区域中所有文本吗
疑难144 如何根据身份证号码获取出生日期、年龄和性别
疑难145 如何将多个单元格中的人民币数字合并且转为大写金额
疑难146 如何计算两个区域的不同项
疑难147 如何突破Rank函数排名的限制
疑难148 如何实现按数据出现次数排序
疑难149 可以用一个函数将人民币大小写相互转换吗
疑难150 可以用函数改变引用区域的值吗
疑难151 如何对两个以逗号分隔的乱序字符串比较异同
疑难152 可以利用函数添加数据监控吗
疑难153 可以让函数的两个参数全是可选参数吗
疑难154 可以利用函数批量对工作表命名吗
疑难155 如何让自定义函数运算结果是一个数组
5.3 自定义函数的管理
疑难156 如何对自定义函数添加说明
疑难157 如何对自定义函数的参数添加帮助
疑难158 可以将加载宏中的自定义函数复制到活动工作簿吗
疑难159 如何封装自定义函数,使其代码不可查看
5.4 练习与思考
第6章 文件目录
6.1 文件管理
疑难160 可以实现文件双向备份吗
疑难161 如何让文件使用一次后即自我销毁
疑难162 文件有哪些属性,如何控制它们
疑难163 如何删除指定目录中一年前创建的文件
疑难164 可以删除18个月没有使用的文件吗
疑难165 如何对文件批量重命名
疑难166 可以在收藏夹中对当前工作簿创建快捷方式吗
疑难167 文本文件与Excel如何批量转换
疑难168 如何实现将指定文件作为附件发送邮件
6.2 目录管理
疑难169 如何瞬间删除D盘中所有空文件夹
疑难170 如何获取C盘以外所有磁盘的文件目录列表
疑难171 如何让多版本Excel可以随心所欲选择打开方式
疑难172 如何批量创建以本月每日日期命名的文件夹
6.3 练习与思考
第7章 图表设计
7.1 图表编辑
疑难173 如何利用快捷键对选区创建图表
疑难174 如何批量修改图表标签
疑难175 如何批量移位标签
疑难176 如何对图表系列设置条件格式
7.2 多表管理
疑难177 如何将所有图表大小调整一致且对齐
疑难178 如何将所有图表转换成JPG文件保存到文件夹
7.3 练习与思考
第8章 图形对象
8.1 图形对象的基本操作
疑难179 可以仅仅删除E列存放的图表以外的图形对象吗
疑难180 如何将工作簿所在路径的图片全部导入工作表
疑难181 如何让所有图形对齐所在单元格左边框
疑难182 如何实现所有图片刚好适应所在单元格大小与边距
疑难183 如何将选区转换成图片并保存到桌面
8.2 批注的高级应用
疑难184 如何利用快捷键在单元格插入当前日期的批注
疑难185 如何将指定列的数据批量追加到批注中
疑难186 如何实现指定区域批量创建历史记录于批注中
疑难187 如何批量导入图片到单元格的批注中
疑难188 可以对批注进行替换吗
疑难189 如何在所有批注末尾追加当前日期
疑难190 如何批量修改批注的外观
疑难191 可以改造默认的插入批注功能吗
8.3 图形对象综合应用
疑难192 可以让图片跟随鼠标移动吗
疑难193 如何创建图片目录与批量插入图片
疑难194 如何利用窗体预览图片
疑难195 VBA中的窗体能否转换成图片保存在工作表中
疑难196 可以在工作表中导入GIF动画吗
疑难197 如何实现输入品名时查看当前路径中的同名图片
疑难198 可以让鼠标指定图片时放大图片吗
疑难199 如何实现图片批量导入并自动排版打印
8.4 练习与思考
第9章 窗体控件
9.1 ActiveX控件应用
疑难200 可以利用列表框强化数据有效性吗
疑难201 如何利用复合框引用区域的唯一值
疑难202 利用复合框和列表框实现二级列表
9.2 窗体设计技巧
疑难203 如何实现利用快捷键启用和关闭窗体
疑难204 如何用一个窗体展现多个不同内容
疑难205 如何用一个按钮执行多个功能
疑难206 如何让日期输入器窗体紧跟活动单元格
疑难207 如何设计五角星窗体
疑难208 VBA可以设计彩蛋吗
疑难209 如何通过窗体控制实现工作表隔行插入行
疑难210 如何在窗体中开发右键快捷菜单
疑难211 窗体可以利用鼠标自由调整大小吗
疑难212 在窗体Show状态下可以调整控件大小吗
疑难213 在窗体Show状态下如何批量设置控件格式
疑难214 在窗体Show状态下如何调整控件位置
疑难215 如何检测窗体中文本框的数据有效性
疑难216 如何设计悬浮感应式窗体
疑难217 可否瞬间备份所有窗体
疑难218 能否对窗体中所有控件同步缩放
疑难219 能否通过代码生成窗体及控件
9.3 窗体与工作表之数据交互
疑难220 可以实现多工作表筛选并将结果导入窗体吗
疑难221 多工作表数据输入窗体如何设计
疑难222 如何开发日历工具箱
疑难223 如何实现多条件电话查询
疑难224 如何开发复选框批量管理工具
疑难225 如何让窗体控件自适应工作表数据变化
疑难226 可以让列表框具有拖放功能吗
疑难227 如何开发四则运算自动出题机
9.4 开发动画窗体
疑难228 如何让窗体中的文本框循环滚动
疑难229 窗体中可以播放GIF和Flash动画吗
疑难230 如何让窗体产生百叶窗动画
疑难231 如何设计精美边框且带动感的窗体
疑难232 如何设计动态的启动画面
疑难233 如何让窗体中产生跟随鼠标指针的文字动画
9.5 练习与思考
第10章 插件开发
10.1 定制菜单与工具栏、功能区
疑难234 如何定制新菜单、工具栏与功能区
疑难235 可以任意组合内置命令吗
疑难236 如何改造内置命令的功能
疑难237 可以提取所有内置图标及其编号吗
疑难238 可利用菜单控制分页符、零值和批注的显隐吗
疑难239 如何仅仅利用菜单创建工作表目录
疑难240 如何让菜单具有感应功能
疑难241 如何让菜单和功能区中显示自己的照片
疑难242 如何设计可单选与复选的新工具栏菜单
10.2 开发通用插件
疑难243 如何开发定位工具箱扩展Excel定位的功能
疑难244 如何开发通用的多区域复制插件
疑难245 如何开发单元格批量合并插件
疑难246 可以利用插件输入常用VBA代码吗
疑难247 如何利用插件删除当前工作簿所有代码
疑难248 如何利用TreeView控件打造工作簿浏览器
10.3 封装DLL插件
疑难249 如何封装数值与文本互换的DLL插件
疑难250 如何设计字符串分离与表达式计算插件
10.4 练习与思考
第11章 工资管理系统
附录
序一
序二
自序
本书好评
前言
丛书介绍
读者对象
阅读指南
本书约定
本书特点
学习方法
售后服务
作者与致谢
第1章 基础理论
1.1 快速获取帮助
疑难1 如何获取所有控件的属性及属性值
疑难2 部分对象在输入时没有成员列表提示,如何解决
疑难3 如何找出错误语句及获取错误原因并发送到开发者邮箱
1.2 程序防错要点
疑难4 程序出错有哪些原因
疑难5 如何获取VBA所有运行时错误的详细说明
疑难6 如何在执行完毕后报告出错次数及原因
疑难7 如何开发完善的程序
疑难8 防错语句在程序或者函数中应用有哪些优势
1.3 代码优化之道
疑难9 如何优化过程“隐藏偶数行”
疑难10 如何优化过程“设置字体属性”
疑难11 如何优化过程“隔三行求和”
疑难12 如何优化过程“B列所有图片右移”
疑难13 如何优化过程“建工作表目录”
疑难14 如何优化过程“成绩评语”
疑难15 如何优化过程“删除空单元格所在行”
疑难16 如何优化过程“批量修改批注背景色”
疑难17 如何优化过程“隔一行插入一行”
疑难18 如何优化过程“获取外网IP地址”
1.4 提升代码的兼容性
疑难19 程序的兼容性体现在哪些方面
疑难20 如何让程序适应不确定对象
疑难21 如何让程序兼容Excel多版本
疑难22 如何让程序兼容英文和中文系统
疑难23 如何让程序兼容简体与繁体中文
1.5 练习与思考
第2章 查找引用
2.1 本表查找
疑难24 如何查找不及格学生姓名并突出显示
疑难25 如何一次性罗列表中三省员工的姓名
疑难26 如何在输入时逐步查找
疑难27 如何按指定的格式查找
疑难28 如何实现字体格式替换
疑难29 如何查找所有“#”并标为上标
疑难30 如何找出还款时间超过一年及未还款的客户信息
疑难31 可以将查找到的所有数据串连并写入剪贴板中吗
疑难32 可以创建一个工具栏来方便查找吗
疑难33 如何快速罗列出每个产品最新报价
疑难34 如何在具有合并单元格的区域中多条件逐步查找
疑难35 如何查找成绩并分批发邮件
2.2 跨表及多表查找
疑难36 如何引用数据表创建多级下拉菜单
疑难37 如何将所有表中查找的完成数汇总到总表
疑难38 在窗体中罗列每月产量冠军名单
疑难39 如何将具有外部数据引用的单元格转换成值
疑难40 如何让链接到其他表中隐藏单元格的超链接生效
疑难41 如何实现多部门电话资料模糊查询
疑难42 如何实现所有未收货款者在状态栏随机显示
2.3 文件查找与转换
疑难43 如何判断指定文件是否存在
疑难44 如何进行深度查找且创建文件目录
疑难45 如何查找并备份所有“3月生产表”
疑难46 如何将所有Excel文件转换成XPS或PDF文件
疑难47 如何在网上邻居的共享盘中查找并打开“单价表”
疑难48 如何实现全盘查找“上海滩.MP3”,有则自动翻放
疑难49 如何在网上自动搜索与当前单元格同名的歌曲并播放
2.4 图片查找与引用
疑难50 如何瞬间删除当前表中所有图片
疑难51 可以将签名图片复制到表中所有签名处吗
疑难52 如何像vlookup引用数据一样引用图片
疑难53 如何通过窗体预览指定目录中的所有图片
2.5 练习与思考
第3章 数据处理
3.1 定位的技巧
疑难54 如何选择当前表0~100之外的数据
疑难55 如何定位奇数行
疑难56 可以瞬间定位并隐藏所有错误值吗
疑难57 如何在输入数据时自动定位下一行的目标单元格
疑难58 可以将标题以外的区域转换成“万”为单位吗
疑难59 如何定位当前表最大值和最小值
疑难60 能定位并标识高于平均值的单元格吗
疑难61 如何反向选择工作表区域
3.2 数据处理及格式转换
疑难62 如何将单词在大写、小写与首字母大写间任意切换
疑难63 如何将二维的入库表转换成一维排版方式
疑难64 能否不用循环对选区进行横向与纵向汇总
疑难65 如何批量地将字符串中的字母、数字和汉字分离出来
疑难66 可以将表达式转换成运算结果吗
疑难67 如何快速填充所有空单元格
疑难68 如何将产品销售地区瞬间转换成下拉列表
疑难69 数据有效性可以设置三级关联下拉列表吗
疑难70 可以对职员信息表按学历排序吗
疑难71 可以不打开工作簿而提取其数据吗
疑难72 如何保护所有公式不能修改
疑难73 如何实现金额数据分解
疑难74 VBA可以破解工作表密码吗
疑难75 如何对分段编号进行合并转换
疑难76 如何将5个大小相同选区的数据互换
疑难77 如何取得1000之内的质数
疑难78 可以生成指定范围的不重复随机数吗
疑难79 如何利用VBA对工作簿进行减肥
疑难80 如何让数字在文本与数值之间快速切换
疑难81 如何将“/”分隔的数据进行汇总
疑难82 可以对指定区域进行自动更正吗
疑难83 可以对包括“星期”的所有工作表同时添加公式吗
疑难84 在VBA中如何控制字符朗读
疑难85 能实现粘贴数据时跳过隐藏区吗
疑难86 如何对相同值进行标识着色
疑难87 如何根据工资计算零钞数量
疑难88 如何批量实现区域数据真正四舍五入
疑难89 如何优化具有大量公式引用的数据计算
3.3 单元格合并技巧
疑难90 可以在表格中合并同类项吗
疑难91 如何实现按产品合并产量数据表
疑难92 如何实现合并时保留所有数据,而拆分时可以还原
疑难93 可以选择当前表所有合并单元格吗
疑难94 如何取消所有合并区域并且对所有单元格填充数据
疑难95 合并单元格后仍然可以正常引用区域中的所有值吗
疑难96 如何将指定单元格合并链接到一个选区
疑难97 跨页合并单元格可以重新合并从而适应分页打印吗
疑难98 可以让合并单元格自动换行吗
3.4 报表合并与拆分
疑难99 如何合并所有工作表到一个表中
疑难100 如何实现多表合并汇总
疑难101 如何将多个工作簿中的所有工作表合并到一个工作表中
疑难102 如何将多个工作簿数据合并到一个工作簿中
疑难103 如何实现报表拆分
疑难104 如何将工作簿中每个工作表转换为独立工作表
3.5 单元格颜色的综合应用
疑难105 Excel不同版本在颜色处理方面有分别吗
疑难106 可以对Excel 2010的按颜色筛选再做扩展吗
疑难107 如何让按颜色排序可以在Excel多版本间通用
疑难108 如何将颜色分类重排且通用于Excel多个版本
疑难109 可以按颜色对选区数据分类汇总吗
疑难110 如何用函数对数据背景和字体按颜色汇总
3.6 重复数据处理
疑难111 如何清空重复值单元格并标识
疑难112 可以对重复出现的数据进行圈释吗
疑难113 如何筛选唯一值
疑难114 可以在输入重复值时提示用户吗
疑难115 如何对两列数据提取相同项与不同项
疑难116 如何将多行多列相同者保留最后一个数据
3.7 数据透视
疑难117 如何按职务或部门进行工资数据的透视分析
疑难118 如何实现多重数据透视
疑难119 如何实现同时透视多工作簿中的多工作表数据
3.8 练习与思考
第4章 报表打印
4.1 打印设置
疑难120 如何一次性设置“总表”以外工作表的页脚
疑难121 如何设置所有工作表的已用区域为打印区域
疑难122 可以记录工作簿的打印次数吗→解决方案
4.2 特殊打印格式设计
疑难123 如何设计工资条打印格式
疑难124 如何打印工资卡
疑难125 VBA可以实现对工作表分页小计吗
疑难126 如何同时打印顶端标题和底端标题行
疑难127 可以借用图片实现底端标题打印吗
疑难128 如何制作针式多联打印机打印格式的报表
疑难129 如何实现双面打印
疑难130 可以仅仅打印活动单元格所在页吗
4.3 练习与思考
第5章 函数开发
5.1 自定义函数基础
疑难131 如何开发自定义函数
疑难132 函数与参数名规则如何
疑难133 自定义函数在不同版本中有何差异
5.2 开发自定义函数
疑难134 如何对区域内混杂字符串中的数字求和
疑难135 如何分离字符串中的数值、英文和汉字
疑难136 如何将文本混杂字符串及表达式转换为值
疑难137 如何按时间段计算汇总金额
疑难138 如何对具有分隔符的数据分类汇总
疑难139 可以取姓名的汉语拼音首字母吗
疑难140 超过15位的数字如何求和
疑难141 可以扩展Vlookup函数实现返回多个结果吗
疑难142 如何利用函数创建文件目录
疑难143 可以用函数连接内存数据和区域中所有文本吗
疑难144 如何根据身份证号码获取出生日期、年龄和性别
疑难145 如何将多个单元格中的人民币数字合并且转为大写金额
疑难146 如何计算两个区域的不同项
疑难147 如何突破Rank函数排名的限制
疑难148 如何实现按数据出现次数排序
疑难149 可以用一个函数将人民币大小写相互转换吗
疑难150 可以用函数改变引用区域的值吗
疑难151 如何对两个以逗号分隔的乱序字符串比较异同
疑难152 可以利用函数添加数据监控吗
疑难153 可以让函数的两个参数全是可选参数吗
疑难154 可以利用函数批量对工作表命名吗
疑难155 如何让自定义函数运算结果是一个数组
5.3 自定义函数的管理
疑难156 如何对自定义函数添加说明
疑难157 如何对自定义函数的参数添加帮助
疑难158 可以将加载宏中的自定义函数复制到活动工作簿吗
疑难159 如何封装自定义函数,使其代码不可查看
5.4 练习与思考
第6章 文件目录
6.1 文件管理
疑难160 可以实现文件双向备份吗
疑难161 如何让文件使用一次后即自我销毁
疑难162 文件有哪些属性,如何控制它们
疑难163 如何删除指定目录中一年前创建的文件
疑难164 可以删除18个月没有使用的文件吗
疑难165 如何对文件批量重命名
疑难166 可以在收藏夹中对当前工作簿创建快捷方式吗
疑难167 文本文件与Excel如何批量转换
疑难168 如何实现将指定文件作为附件发送邮件
6.2 目录管理
疑难169 如何瞬间删除D盘中所有空文件夹
疑难170 如何获取C盘以外所有磁盘的文件目录列表
疑难171 如何让多版本Excel可以随心所欲选择打开方式
疑难172 如何批量创建以本月每日日期命名的文件夹
6.3 练习与思考
第7章 图表设计
7.1 图表编辑
疑难173 如何利用快捷键对选区创建图表
疑难174 如何批量修改图表标签
疑难175 如何批量移位标签
疑难176 如何对图表系列设置条件格式
7.2 多表管理
疑难177 如何将所有图表大小调整一致且对齐
疑难178 如何将所有图表转换成JPG文件保存到文件夹
7.3 练习与思考
第8章 图形对象
8.1 图形对象的基本操作
疑难179 可以仅仅删除E列存放的图表以外的图形对象吗
疑难180 如何将工作簿所在路径的图片全部导入工作表
疑难181 如何让所有图形对齐所在单元格左边框
疑难182 如何实现所有图片刚好适应所在单元格大小与边距
疑难183 如何将选区转换成图片并保存到桌面
8.2 批注的高级应用
疑难184 如何利用快捷键在单元格插入当前日期的批注
疑难185 如何将指定列的数据批量追加到批注中
疑难186 如何实现指定区域批量创建历史记录于批注中
疑难187 如何批量导入图片到单元格的批注中
疑难188 可以对批注进行替换吗
疑难189 如何在所有批注末尾追加当前日期
疑难190 如何批量修改批注的外观
疑难191 可以改造默认的插入批注功能吗
8.3 图形对象综合应用
疑难192 可以让图片跟随鼠标移动吗
疑难193 如何创建图片目录与批量插入图片
疑难194 如何利用窗体预览图片
疑难195 VBA中的窗体能否转换成图片保存在工作表中
疑难196 可以在工作表中导入GIF动画吗
疑难197 如何实现输入品名时查看当前路径中的同名图片
疑难198 可以让鼠标指定图片时放大图片吗
疑难199 如何实现图片批量导入并自动排版打印
8.4 练习与思考
第9章 窗体控件
9.1 ActiveX控件应用
疑难200 可以利用列表框强化数据有效性吗
疑难201 如何利用复合框引用区域的唯一值
疑难202 利用复合框和列表框实现二级列表
9.2 窗体设计技巧
疑难203 如何实现利用快捷键启用和关闭窗体
疑难204 如何用一个窗体展现多个不同内容
疑难205 如何用一个按钮执行多个功能
疑难206 如何让日期输入器窗体紧跟活动单元格
疑难207 如何设计五角星窗体
疑难208 VBA可以设计彩蛋吗
疑难209 如何通过窗体控制实现工作表隔行插入行
疑难210 如何在窗体中开发右键快捷菜单
疑难211 窗体可以利用鼠标自由调整大小吗
疑难212 在窗体Show状态下可以调整控件大小吗
疑难213 在窗体Show状态下如何批量设置控件格式
疑难214 在窗体Show状态下如何调整控件位置
疑难215 如何检测窗体中文本框的数据有效性
疑难216 如何设计悬浮感应式窗体
疑难217 可否瞬间备份所有窗体
疑难218 能否对窗体中所有控件同步缩放
疑难219 能否通过代码生成窗体及控件
9.3 窗体与工作表之数据交互
疑难220 可以实现多工作表筛选并将结果导入窗体吗
疑难221 多工作表数据输入窗体如何设计
疑难222 如何开发日历工具箱
疑难223 如何实现多条件电话查询
疑难224 如何开发复选框批量管理工具
疑难225 如何让窗体控件自适应工作表数据变化
疑难226 可以让列表框具有拖放功能吗
疑难227 如何开发四则运算自动出题机
9.4 开发动画窗体
疑难228 如何让窗体中的文本框循环滚动
疑难229 窗体中可以播放GIF和Flash动画吗
疑难230 如何让窗体产生百叶窗动画
疑难231 如何设计精美边框且带动感的窗体
疑难232 如何设计动态的启动画面
疑难233 如何让窗体中产生跟随鼠标指针的文字动画
9.5 练习与思考
第10章 插件开发
10.1 定制菜单与工具栏、功能区
疑难234 如何定制新菜单、工具栏与功能区
疑难235 可以任意组合内置命令吗
疑难236 如何改造内置命令的功能
疑难237 可以提取所有内置图标及其编号吗
疑难238 可利用菜单控制分页符、零值和批注的显隐吗
疑难239 如何仅仅利用菜单创建工作表目录
疑难240 如何让菜单具有感应功能
疑难241 如何让菜单和功能区中显示自己的照片
疑难242 如何设计可单选与复选的新工具栏菜单
10.2 开发通用插件
疑难243 如何开发定位工具箱扩展Excel定位的功能
疑难244 如何开发通用的多区域复制插件
疑难245 如何开发单元格批量合并插件
疑难246 可以利用插件输入常用VBA代码吗
疑难247 如何利用插件删除当前工作簿所有代码
疑难248 如何利用TreeView控件打造工作簿浏览器
10.3 封装DLL插件
疑难249 如何封装数值与文本互换的DLL插件
疑难250 如何设计字符串分离与表达式计算插件
10.4 练习与思考
第11章 工资管理系统
附录
媒体评论
★Excel疑难千寻千解”丛书依托于功能更趋完善的Excel2010版本,用详尽的文字和图片介绍了Excel2010各方面的知识和应用,非常适合初学者和有一定基础的读者进阶学习。书中示例贴近实际,有利于读者将所学知识与自己的工作结合起来,进而提高数据分析能力和工作效率。
——Excelpx.com站长 赵志东(网名:兰色幻想)
★不论是在社区中帮助网友解决问题,还是将Excel方方面面的知识点归纳整理成书,ExcelTip.Net一直都做得很好,很有自己的特色!
——Officefans.net站长 谢汝祥(网名:andyxie)
★Excel的博大精深已令活跃于网络社区中的众多高手深有体会,一直以来人们都在探寻关于Excel的优佳学习方法和途径,希望通过其获取全新而且实用的Excel应用技术,相信本书的读者能得到一份这方面的满意答卷。
——微软全球有价值专家MVP 陈军(网名:chenjun)
★深入浅出的讲解,引人入胜的描述,经典的场景和贴心的知识拓展,多思路并举的操作方法,不知不觉中便使人沉浸于Excel无穷的技巧中,让人钦佩作者的独具匠心和非凡智慧。无论是Excel新手,或是Excel高手,相信本书都可给人以耳目一新的感觉。
——微软全球有价值专家MVP 周建平(网名:守柔)
★“Excel疑难千寻千解”丛书视角独特,贴近用户,由点及面,举一反三,非常适合初学者深入学习,是不可多得的Excel学习宝典。
——微软全球有价值专家MVP 杨彬(网名:BIN_YANG168)
★虽然我对Excel2010已经不陌生了,但打开本书,仍有一种全新的感觉。本书一改Office帮助的那种“菜单式说教”,而是将日常运用过程中经常会遇到的疑难问题一一列出并详加说明解决方案,有的甚至还列出多项解决方案,这无疑给使用者带来巨大的方便。本书不仅可以作为Excel2010爱好者学习的自学教材,还可以作为经常使用Excel2010办公人士的“解疑字典”,在遭遇“奇怪现象”时可以直接找到解决问题的捷径。
——微软全球有价值专家MVP 方洁影(网名:小妖)
★本套丛书立意新颖,内容充实,按照“提出问题→解决问题→扩展问题”的模式,图文并茂地对大量实际工作中的常见Excel问题进行了细致的描述和深入浅出的讲解。授人以“鱼”,同时授人以“渔”,适合从基础到高级的Excel用户和程序员阅读,使您的工作事半功倍,得心应手!
——微软全球有价值专家MVP 杨志宁(网名:northwolves)
——Excelpx.com站长 赵志东(网名:兰色幻想)
★不论是在社区中帮助网友解决问题,还是将Excel方方面面的知识点归纳整理成书,ExcelTip.Net一直都做得很好,很有自己的特色!
——Officefans.net站长 谢汝祥(网名:andyxie)
★Excel的博大精深已令活跃于网络社区中的众多高手深有体会,一直以来人们都在探寻关于Excel的优佳学习方法和途径,希望通过其获取全新而且实用的Excel应用技术,相信本书的读者能得到一份这方面的满意答卷。
——微软全球有价值专家MVP 陈军(网名:chenjun)
★深入浅出的讲解,引人入胜的描述,经典的场景和贴心的知识拓展,多思路并举的操作方法,不知不觉中便使人沉浸于Excel无穷的技巧中,让人钦佩作者的独具匠心和非凡智慧。无论是Excel新手,或是Excel高手,相信本书都可给人以耳目一新的感觉。
——微软全球有价值专家MVP 周建平(网名:守柔)
★“Excel疑难千寻千解”丛书视角独特,贴近用户,由点及面,举一反三,非常适合初学者深入学习,是不可多得的Excel学习宝典。
——微软全球有价值专家MVP 杨彬(网名:BIN_YANG168)
★虽然我对Excel2010已经不陌生了,但打开本书,仍有一种全新的感觉。本书一改Office帮助的那种“菜单式说教”,而是将日常运用过程中经常会遇到的疑难问题一一列出并详加说明解决方案,有的甚至还列出多项解决方案,这无疑给使用者带来巨大的方便。本书不仅可以作为Excel2010爱好者学习的自学教材,还可以作为经常使用Excel2010办公人士的“解疑字典”,在遭遇“奇怪现象”时可以直接找到解决问题的捷径。
——微软全球有价值专家MVP 方洁影(网名:小妖)
★本套丛书立意新颖,内容充实,按照“提出问题→解决问题→扩展问题”的模式,图文并茂地对大量实际工作中的常见Excel问题进行了细致的描述和深入浅出的讲解。授人以“鱼”,同时授人以“渔”,适合从基础到高级的Excel用户和程序员阅读,使您的工作事半功倍,得心应手!
——微软全球有价值专家MVP 杨志宁(网名:northwolves)
前言
序一
在用Excel的人很多,会用Excel的人很少。类似的情况也同样出现在Excel图书上,介绍Excel的图书很多,真正对读者有用的书很少。
在浏览过琳琅满目、各种类型的Excel图书之后,在领略过百科全书式的详细解析和武功秘籍般的招式演绎之后,依然有这样一本“Excel疑难千寻千解”能够让人眼前一亮。令人刮目相看的原因在于,这部书真正把立场和视角建立在了读者的基础上——每一个问题都来源于Excel用户可能真实面对的疑惑和困扰,每一个解答可能正是许多坐在计算机前束手无策的朋友正在搜寻的目标。这样一部图书真正做到了理解读者在想些什么,体会到了读者正在面对怎样的困境,从而引领我们从四处碰壁的电子迷宫中轻松突围。而本书的作者,这些技术超群的Excel专家们,这些被称为电子世界的罗宾汉们,用他们的专业精神和实用技术,给众多受困于Excel无边苦海中的数据工作者们奉献了一部真正意义上的Excel生存手册。
如果你也正准备踏上征服Excel的旅程,不妨就把这本书也放进你的背包行囊里吧!
微软全球最有价值专家MVP 方骥
在用Excel的人很多,会用Excel的人很少。类似的情况也同样出现在Excel图书上,介绍Excel的图书很多,真正对读者有用的书很少。
在浏览过琳琅满目、各种类型的Excel图书之后,在领略过百科全书式的详细解析和武功秘籍般的招式演绎之后,依然有这样一本“Excel疑难千寻千解”能够让人眼前一亮。令人刮目相看的原因在于,这部书真正把立场和视角建立在了读者的基础上——每一个问题都来源于Excel用户可能真实面对的疑惑和困扰,每一个解答可能正是许多坐在计算机前束手无策的朋友正在搜寻的目标。这样一部图书真正做到了理解读者在想些什么,体会到了读者正在面对怎样的困境,从而引领我们从四处碰壁的电子迷宫中轻松突围。而本书的作者,这些技术超群的Excel专家们,这些被称为电子世界的罗宾汉们,用他们的专业精神和实用技术,给众多受困于Excel无边苦海中的数据工作者们奉献了一部真正意义上的Excel生存手册。
如果你也正准备踏上征服Excel的旅程,不妨就把这本书也放进你的背包行囊里吧!
微软全球最有价值专家MVP 方骥
精彩书摘
1.2 程序防错要点
在编写VBA代码前,需要了解程序通常会产生哪些错误;在编写程序时,需要对程序可能出现的错误进行防范,以及指定出错时需要采取的措施。本节对VBA程序出错进行常见的原因分析,以及罗列所有错误的解释,并通过实例演示防错手法及“错误”的利用方案。
疑难4 程序出错有哪些原因
程序在运行前或者运行时都可能会出错,那么程序出错有哪些常见的原因呢?
→ 解决方案
本例专注于程序出错的理论分析,辅助简单案例进行讲解。读者在编写代码时可以从文中提到的几个方面检查自己的代码是否存在疏漏。
↙ 操作方法
※ 常见错误分析 ※
程序出错包括编译错误和运行时错误。常见的编译错误包括命名错误、拼写错误、语法错误(不完整)、参数不完整。图1-9所示属于过程名称错误,Sub过程名、Function名及Names的名称不能以数字开始;图1-10所示则是方法“Shell”的拼写有误,多了一个“l”;图1-11所示属于IF…End IF语句缺少结束语句所致;图1-12所示属于参数不完整,DateSerial函数有三个必需参数,缺一不可。另一个比较常见的编译错误是“二义性的名称”,它表示模块中存在多个同名的过程,手工重命名Sub过程名或者Function过程名即可。
■ 图1-9 命名错误
■ 图1-10 拼写错误
■ 图1-11 语法不完整
■ 图1-12 参数不完整
运行时错误种类相当多,其中最常见的是代码中的值超过了允许的范围。例如工作簿中仅仅有3个工作表时调用“Sheets(4)”,则产生“下标越界错误”;而图1-13所示对行高的赋值超过了允许的范围0~409;图1-14所示的单元格列坐标105超过了允许的最大值16384;图1-15所示是因为变量赋值时超过了Byte型的有效范围0~255;而图1-16所示则因为名称的引用超过了1~255范围而出错,同类的还有数据有效性的公式引用表达式不能超过255个字符,一次创建工作表不能超过255个,字体大小只能在1~409,字体颜色ColorIndex只能在0~56等。对于Open方法打开不存在的文件名也属于超出范围,保存文件到不存在的磁盘等都可以算超过有效范围,在代码中需要加入判断才能防错。
■ 图1-13 行高超过有效范围0~409
■ 图1-14 单元格列坐标超过有效范围16384
■ 图1-15 对变量赋值时超过了变量的范围
■ 图1-16 名称的引用超过最大值255
另外比较常见的还有“被零除”错误。例如图1-17所示为C2为0时就会出错,而图1-18所示为a2:a9没有数值时仍然是因零除数而出错。
■ 图1-17 C2为0时产生被零除错误
■ 图1-18 当a2:a9没有数值时出错
↙ 原理分析
VBA中程序出错的可能性极多,但通常都有规律可循。其中编译错误最好处理,VBA会自动找出出错的语句并告知出错原因;运行时错误最常见的是读出和写入时超过有效范围。而所有有效范围皆有据可查,可以从帮助中获取所有信息。只要掌握其规律,编写程序时出错的几率就会大大减少。
↙ 知识扩展
本文罗列的是代码本身的错误,而实际工作中还会有思路错误,即代码完全正确,但无法获取需要的结果,这不在本书讨论的范畴。
程序的错误也有可以利用的时候,即故意通过程序代码来获取某些错误信息,在后面的很多案例中都将涉及到。
在编写VBA代码前,需要了解程序通常会产生哪些错误;在编写程序时,需要对程序可能出现的错误进行防范,以及指定出错时需要采取的措施。本节对VBA程序出错进行常见的原因分析,以及罗列所有错误的解释,并通过实例演示防错手法及“错误”的利用方案。
疑难4 程序出错有哪些原因
程序在运行前或者运行时都可能会出错,那么程序出错有哪些常见的原因呢?
→ 解决方案
本例专注于程序出错的理论分析,辅助简单案例进行讲解。读者在编写代码时可以从文中提到的几个方面检查自己的代码是否存在疏漏。
↙ 操作方法
※ 常见错误分析 ※
程序出错包括编译错误和运行时错误。常见的编译错误包括命名错误、拼写错误、语法错误(不完整)、参数不完整。图1-9所示属于过程名称错误,Sub过程名、Function名及Names的名称不能以数字开始;图1-10所示则是方法“Shell”的拼写有误,多了一个“l”;图1-11所示属于IF…End IF语句缺少结束语句所致;图1-12所示属于参数不完整,DateSerial函数有三个必需参数,缺一不可。另一个比较常见的编译错误是“二义性的名称”,它表示模块中存在多个同名的过程,手工重命名Sub过程名或者Function过程名即可。
■ 图1-9 命名错误
■ 图1-10 拼写错误
■ 图1-11 语法不完整
■ 图1-12 参数不完整
运行时错误种类相当多,其中最常见的是代码中的值超过了允许的范围。例如工作簿中仅仅有3个工作表时调用“Sheets(4)”,则产生“下标越界错误”;而图1-13所示对行高的赋值超过了允许的范围0~409;图1-14所示的单元格列坐标105超过了允许的最大值16384;图1-15所示是因为变量赋值时超过了Byte型的有效范围0~255;而图1-16所示则因为名称的引用超过了1~255范围而出错,同类的还有数据有效性的公式引用表达式不能超过255个字符,一次创建工作表不能超过255个,字体大小只能在1~409,字体颜色ColorIndex只能在0~56等。对于Open方法打开不存在的文件名也属于超出范围,保存文件到不存在的磁盘等都可以算超过有效范围,在代码中需要加入判断才能防错。
■ 图1-13 行高超过有效范围0~409
■ 图1-14 单元格列坐标超过有效范围16384
■ 图1-15 对变量赋值时超过了变量的范围
■ 图1-16 名称的引用超过最大值255
另外比较常见的还有“被零除”错误。例如图1-17所示为C2为0时就会出错,而图1-18所示为a2:a9没有数值时仍然是因零除数而出错。
■ 图1-17 C2为0时产生被零除错误
■ 图1-18 当a2:a9没有数值时出错
↙ 原理分析
VBA中程序出错的可能性极多,但通常都有规律可循。其中编译错误最好处理,VBA会自动找出出错的语句并告知出错原因;运行时错误最常见的是读出和写入时超过有效范围。而所有有效范围皆有据可查,可以从帮助中获取所有信息。只要掌握其规律,编写程序时出错的几率就会大大减少。
↙ 知识扩展
本文罗列的是代码本身的错误,而实际工作中还会有思路错误,即代码完全正确,但无法获取需要的结果,这不在本书讨论的范畴。
程序的错误也有可以利用的时候,即故意通过程序代码来获取某些错误信息,在后面的很多案例中都将涉及到。
0 评论:
发表评论