Excel 2003高级VBA编程宝典

Excel 2003高级VBA编程宝典 pdf epub mobi txt 电子书 下载 2026

出版者:电子工业出版社
作者:John Walkenbach
出品人:
页数:696
译者:盖江南
出版时间:2005-10
价格:79.0
装帧:平装
isbn号码:9787121017858
丛书系列:计算机“宝典”丛书
图书标签:
  • EXCEL
  • VBA
  • excel2003高级VBA编程宝典
  • Excel
  • office
  • 计算机
  • 办公
  • 宏编程
  • Excel
  • 2003
  • VBA
  • 编程
  • 高级
  • 宝典
想要找书就要到 小哈图书下载中心
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

本书是专门为在Excel 2003中使用VBA编程而编写的一部专著。

全书共分8个部分,主要包括Excel 2003的基本背景、Excel应用程序开发、VBA编程、用户窗体和高级编程技巧等内容。本书用大量的示例、代码阐述了VBA编程的概念,是学习在 Excel 2003中用VBA进行编程的最直接和最有效的方法。通过本书的学习,能使读者迅速、轻松、高效地完成各种复杂工作。

本书可作为有一定经验的Excel用户学习VBA编程的首选书籍,同时也是高级Excel编程人员深入VBA编程的一本非常不错的参考书。

《Excel 2003高级VBA编程宝典》:开启数据处理与自动化新篇章 您是否还在为Excel中繁琐重复的数据处理任务而烦恼?是否渴望将Excel的强大功能发挥到极致,构建属于自己的定制化解决方案?《Excel 2003高级VBA编程宝典》正是您踏入Excel VBA编程世界,解锁数据处理新维度的权威指南。 本书并非市面上泛泛而谈的Excel入门教程,而是专为那些已经掌握Excel基础操作,渴望深入探索Excel自动化潜力的用户精心打造。我们深入浅出地剖析了Excel 2003版本中VBA(Visual Basic for Applications)的核心概念与高级技巧,旨在帮助您构建高效、智能、个性化的Excel解决方案,彻底改变您与数据互动的方式。 本书内容涵盖: VBA基础精炼与进阶: 从变量、数据类型、运算符的精妙运用,到条件语句、循环结构、过程与函数的逻辑构建,我们将系统梳理VBA编程的基础知识,并在此基础上,引导您掌握更加复杂的编程思维,例如错误处理机制、对象模型的使用以及事件驱动编程。理解这些基石,是您构建强大宏程序的前提。 Excel对象模型深度解析: Excel的强大之处在于其丰富而灵活的对象模型。本书将带领您逐一探索Workbook、Worksheet、Range、Chart等核心对象,揭示它们之间千丝万缕的联系。您将学会如何通过VBA代码精确地操作单元格、工作表、图表、窗体等各种Excel元素,实现数据的录入、编辑、格式化、分析和可视化。 数据处理自动化利器: 还在手动复制粘贴?还在用公式嵌套?本书将教您如何利用VBA批量处理数据,实现数据的清洗、转换、合并、拆分。无论是复杂的文本处理,还是多条件的数据筛选与汇总,VBA都能为您提供优雅而高效的解决方案,极大地提升您的工作效率。 高级功能应用与技巧: 用户自定义函数(UDF): 突破Excel内置函数的局限,创建属于您自己的专用函数,让复杂计算一步到位。 用户窗体(UserForm): 设计交互式界面,简化用户输入,提升数据录入的准确性和用户体验。 数据透视表与图表自动化: 告别手动创建数据透视表和图表的繁琐,用VBA实现它们的自动化生成与更新,让数据洞察更加敏捷。 外部数据连接与处理: 学习如何通过VBA连接数据库、文本文件等外部数据源,实现数据的导入、导出和批量处理,打破Excel数据孤岛。 文件与文件夹操作: 掌握VBA对Excel文件、其他Excel文件以及文件夹的管理,实现文件的自动创建、复制、移动、删除以及批处理。 API函数调用: 探索调用Windows API函数的能力,进一步扩展Excel的功能,实现更高级的系统交互。 实战案例与项目指导: 本书不仅仅是理论的堆砌,更包含大量贴合实际工作需求的实战案例。从简单的自动化报表生成,到复杂的业务流程管理,我们将一步步指导您完成实际项目,让您在实践中巩固所学,提升解决实际问题的能力。 性能优化与代码规范: 学习编写高效、可读性强、易于维护的VBA代码,掌握性能优化的技巧,让您的宏程序运行如飞,避免不必要的资源浪费。 为什么选择《Excel 2003高级VBA编程宝典》? 深度与广度并存: 我们深入挖掘VBA的强大潜力,同时覆盖了Excel 2003版本中绝大多数高级功能的应用,确保您掌握全面而实用的技能。 循序渐进的学习路径: 从基础概念到高级应用,本书的结构清晰,逻辑严谨,让您在轻松掌握VBA的同时,逐步建立起强大的编程思维。 实用的解决方案: 书中提供的案例和技巧均源于实际工作场景,能够直接应用于您的日常工作中,解决您面临的实际问题。 助您成为Excel高手: 掌握VBA编程,意味着您将不仅仅是Excel的使用者,更是Excel的创造者。您可以根据自己的需求定制工具,将繁琐的工作流程自动化,从而在工作中脱颖而出。 无论您是希望提升个人工作效率的职场人士,还是希望为企业构建定制化数据解决方案的IT专业人士,《Excel 2003高级VBA编程宝典》都将是您不可或缺的得力助手。立即翻开本书,开启您的Excel VBA编程之旅,让数据在您的指尖流动,创造无限可能!

作者简介

沃肯巴赫,是享有Mr.Spreadsheet 美誉的国际知名作者,是电子表格软件方面的领导权威,是美国Wiley出版公司出版的Excel系列丛书的总策划和总编辑。他编写了30多部电子表格软件方面的书籍,有很多书籍在亚马逊网站羸得了5星级的评价,其中的《Excel2003公式与函数应用宝典》、《中文版Excel2003宝典》和《Excel应用技巧宝典》已由电子工业出版社引进翻译出版并畅销至今。他还为各大报刊杂志撰写了300多篇文章,其中不乏大量的知名计算机专业杂志。

目录信息

第1部分 excel基础知识 1
第1章 excel 2003的起源 2
1.1 电子表格软件的简短历史 2
1.1.1 最初的起源visicalc 2
1.1.2 lotus 1-2-3 2
1.1.3 quattro pro 5
1.1.4 microsoft excel 5
1.2 excel对开发人员的重要性 9
1.3 excel在微软战略中的角色 9
第2章 excel概述 11
2.1 关于对象 11
2.2 工作簿 12
2.2.1 工作表 12
2.2.2 图表工作表 13
2.2.3 xlm宏工作表 13
2.2.4 excel 5/95对话框编辑表 14
2.3 excel的用户界面 14
2.3.1 菜单 14
2.3.2 快捷菜单 15
2.3.3 工具栏 15
.2.3.4 对话框 16
2.3.5 拖放 16
2.3.6 键盘快捷键 17
2.3.7 智能标记 17
2.3.8 任务窗格 17
2.4 数据录入 18
2.5 公式、函数和名称 19
2.6 定制屏幕显示 20
2.7 选择对象 20
2.8 格式 21
2.8.1 数字型格式 21
2.8.2 样式型格式 21
2.9 形状 22
2.10 图表 22
2.11 宏和编程 23
2.12 数据库访问 23
2.12.1 工作表数据库 24
2.12.2 外部数据库 24
2.13 internet 特性 25
2.14 xml特性 26
2.15 分析工具 26
2.15.1 分级显示 26
2.15.2 自动的分类汇总 26
2.15.3 analysis toolpak 26
2.15.4 数据透视表 27
2.15.5 solver 28
2.16 加载宏 28
2.17 兼容性 28
2.18 保护选项 28
2.18.1 保护公式以防被修改 28
2.18.2 保护工作簿的结构 29
2.18.3 用密码保护工作簿 30
2.18.4 用密码保护vba代码 30
2.19 excel的“帮助”系统 31
第3章 公式的技巧 32
3.1 公式简介 32
3.2 计算公式 32
3.3 单元格和单元格区域引用 33
3.3.1 为什么使用不是相对的引用 33
3.3.2 r1c1表示法 34
3.3.3 引用其他的工作表或者工作簿 35
3.4 使用名称 36
3.4.1 命名单元格和单元格区域 36
3.4.2 将名称应用于现有的引用 36
3.4.3 交叉名称 37
3.4.4 命名列和行 38
3.4.5 名称的作用域 38
3.4.6 命名常量 38
3.4.7 命名公式 39
3.4.8 命名对象 40
3.5 公式错误 41
3.6 数组公式 41
3.6.1 一个数组公式的例子 42
3.6.2 数组公式日历 43
3.6.3 数组公式的优缺点 43
3.7 计数和求和技巧 43
3.7.1 使用countif或者sumif函数 44
3.7.2 使用数组公式进行计数和求和 44
3.7.3 其他计数工具 45
3.8 使用日期和时间 46
3.8.1 输入日期和时间 46
3.8.2 使用1900年之前的日期 46
3.9 创建大公式 47
第4章 理解excel的文件 50
4.1 启动excel 50
4.2 所支持的电子表格文件格式 51
4.2.1 lotus 1-2-3电子表格文件 52
4.2.2 quattro pro电子表格文件 52
4.2.3 数据库文件格式 52
4.2.4 文本文件格式 53
4.2.5 其他文件格式 53
4.3 用excel编写的文件 53
4.3.1 xls文件 54
4.3.2 工作区文件 54
4.3.3 模板文件 55
4.3.4 工具栏文件 55
4.3.5 加载宏文件 56
4.4 excel和html 56
4.4.1 excel如何使用html 56
4.4.2 增加难度 57
4.4.3 创建交互式的html文件 58
4.5 导入和导出xml文件 59
4.5.1 什么是xml 59
4.5.2 使用映射导入xml数据 60
4.5.3 将xml数据导入到列表中 62
4.5.4 从excel导出xml数据 63
4.6 注册表中的excel设置 63
4.6.1 关于注册表 63
4.6.2 excel的设置 64
第2部分 excel应用程序开发 67
第5章 电子表格应用程序的内涵 68
5.1 电子表格应用程序 68
5.2 开发人员和终端用户 69
5.2.1 谁是开发人员 69
5.2.2 电子表格应用程序用户的分类 70
5.2.3 电子表格应用程序的客户 70
5.3 用电子表格应用程序解决问题 71
5.4 基本的电子表格应用程序类型 71
5.4.1 快捷但质量不高的电子表格应用程序 72
5.4.2 自己创作、自己使用的电子表格应用程序 72
5.4.3 单用户电子表格应用程序 72
5.4.4 意大利面条式电子表格应用程序 73
5.4.5 实用电子表格应用程序 73
5.4.6 包含工作表函数的加载宏 74
5.4.7 单元块预算式电子表格应用程序 74
5.4.8 假设分析模型式电子表格应用程序 74
5.4.9 数据存储和访问电子表格应用程序 74
5.4.10 数据库前端电子表格应用程序 75
5.4.11 统包式电子表格应用程序 75
第6章 电子表格应用程序开发的基础 76
6.1 确定用户需求 76
6.2 规划满足用户需求的应用程序 77
6.3 确定最合适的用户界面 78
6.3.1 创建自定义的对话框 79
6.3.2 在工作表上使用activex 控件 79
6.3.3 自定义菜单 80
6.3.4 自定义工具栏 82
6.3.5 创建快捷键 83
6.3.6 执行开发的成果 83
6.4 使自己关心终端用户 84
6.4.1 测试电子表格应用程序 84
6.4.2 尽量完善电子表格应用程序的安全性 85
6.4.3 使得电子表格应用程序比较美观和直观 86
6.4.4 创建用户帮助系统 87
6.4.5 编制有关开发成果的文档 87
6.4.6 将电子表格应用程序分发给用户 87
6.4.7 需要的时候更新电子表格应用程序 88
6.5 其他开发问题 88
6.5.1 用户安装的excel版本 88
6.5.2 语言问题 89
6.5.3 系统速度 89
6.5.4 视频模式 89
第3部分 理解vba 91
第7章 vba概述 92
7.1 基本的背景 92
7.2 关于vba 92
7.2.1 对象模型 93
7.2.2 vba与xlm的对比 93
7.3 vba基础知识 94
7.4 visual basic 编辑器概述 96
7.4.1 激活vbe 96
7.4.2 vbe窗口 97
7.5 使用“工程资源浏览器”窗口 98
7.5.1 添加新的vba模块 99
7.5.2 删除vba模块 99
7.5.3 导出和导入对象 99
7.6 使用“代码”窗口 100
7.6.1 最小化和最大化窗口 100
7.6.2 存储vba代码 101
7.6.3 输入vba代码 101
7.7 定制vbe环境 106
7.7.1 使用“编辑器”选项卡 106
7.7.2 使用“编辑器格式”选项卡 108
7.7.3 使用“通用”选项卡 109
7.7.4 使用“可连接的”选项卡 110
7.8 宏录制器 111
7.8.1 宏录制器实际记录哪些内容 111
7.8.2 相对模式还是绝对模式 112
7.8.3 录制选项 115
7.8.4 整理已录制的宏 115
7.9 关于对象和集合 117
7.9.1 对象层次结构 117
7.9.2 关于集合 118
7.9.3 引用对象 118
7.10 属性和方法 119
7.10.1 对象的属性 119
7.10.2 对象的方法 119
7.11 comment对象示例 121
7.11.1 查看有关comment对象的帮助 121
7.11.2 comment对象的属性 122
7.11.3 comment对象的方法 122
7.11.4 comments 集合 123
7.11.5 关于comment属性 123
7.11.6 comment对象中的对象 124
7.11.7 确定单元格中是否含有comment对象 125
7.11.8 添加新的comment对象 125
7.11.9 一些有用的应用程序属性 126
7.12 range对象的使用 127
7.12.1 range属性 128
7.12.2 cells属性 129
7.12.3 offset属性 130
7.13 关于对象 131
7.13.1 基本的理念 131
7.13.2 学习有关对象和属性的更多信息 132
第8章 vba编程基础 135
8.1 vba语言元素概览 135
8.2 注释 137
8.3 变量、数据类型和常量 138
8.3.1 定义数据类型 139
8.3.2 声明变量 141
8.3.3 变量的作用域 142
8.3.4 常量的使用 145
8.3.5 字符串的使用 146
8.3.6 日期的使用 147
8.4 赋值语句 148
8.5 数组 149
8.5.1 声明数组 149
8.5.2 声明多维数组 149
8.6 对象变量 150
8.7 用户定义数据类型 151
8.8 内置函数 152
8.9 处理对象和集合 154
8.9.1 with-end with 构造 154
8.9.2 for each-next 构造 155
8.10 控制执行 156
8.10.1 goto 语句 157
8.10.2 if-then 构造 157
8.10.3 select case 构造 160
8.10.4 指令的循环块 163
第9章 vba的sub过程 169
9.1 关于过程 169
9.1.1 声明sub过程 169
9.1.2 过程的作用域 170
9.2 执行sub过程 171
9.2.1 用“运行子过程/用户窗体”命令执行过程 172
9.2.2 从“宏”对话框执行过程 172
9.2.3 用ctrl键组合执行过程 172
9.2.4 从自定义菜单执行过程 173
9.2.5 从另一个过程执行过程 175
9.2.6 从工具栏按钮执行过程 178
9.2.7 通过单击对象执行过程 179
9.2.8 当事件发生时执行过程 180
9.2.9 从“立即窗口”执行过程 180
9.3 向过程传递参数 181
9.4 错误处理技术 184
9.4.1 捕获错误 184
9.4.2 错误处理示例 185
9.5 使用sub过程的实际例子 187
9.5.1 目的 187
9.5.2 工程需求 188
9.5.3 已经了解的信息 188
9.5.4 着手处理 188
9.5.5 需要了解哪些信息 189
9.5.6 初步的录制工作 189
9.5.7 初始设置 190
9.5.8 代码的编写 191
9.5.9 排序过程的编写 192
9.5.10 更多测试 195
9.5.11 修复问题 195
9.5.12 实用程序的可用性 197
9.5.13 对工程进行评估 197
第10章 创建function过程 199
10.1 sub过程与function过程对比 199
10.2 为什么创建自定义的函数 199
10.3 介绍性的函数示例 200
10.3.1 一个自定义函数 200
10.3.2 在工作表中使用函数 200
10.3.3 在vba过程中使用函数 201
10.3.4 分析自定义函数 202
10.4 function过程 202
10.4.1 声明函数 203
10.4.2 函数的作用域 203
10.4.3 执行function过程 204
10.5 function过程的参数 205
10.6 函数示例 206
10.6.1 无参数的函数 206
10.6.2 另一个无参数的函数 206
10.6.3 接受一个参数的函数 207
10.6.4 接受两个参数的函数 209
10.6.5 接受数组参数的函数 210
10.6.6 接受可选参数的函数 211
10.6.7 返回vba数组的函数 212
10.6.8 返回错误值的函数 214
10.6.9 接受不定数量的参数的函数 215
10.7 模拟excel的sum函数 216
10.8 调试函数 218
10.9 使用“插入函数”对话框 219
10.9.1 指定函数类别 220
10.9.2 添加函数说明 220
10.10 使用加载宏存储自定义的函数 222
10.11 使用windows api 222
10.11.1 windows api示例 223
10.11.2 确定windows目录 223
10.11.3 检测shift键 224
10.11.4 了解更多有关api函数的信息 225
第11章 vba编程示例和技巧 226
11.1 处理单元格区域 226
11.1.1 复制单元格区域 226
11.1.2 移动单元格区域 227
11.1.3 复制大小可变的单元格区域 228
11.1.4 选中或者识别各种类型的单元格区域 229
11.1.5 提示输入单元格中的值 230
11.1.6 在下一个空单元格内输入一个值 231
11.1.7 暂停宏的运行以便获得用户选中的单元格区域 232
11.1.8 计算选中的单元格的数目 234
11.1.9 确定选中的单元格区域的类型 234
11.1.10 有效地遍历选中的单元格区域 235
11.1.11 删除所有空行 237
11.1.12 确定单元格区域是否包含在另一个单元格区域内 238
11.1.13 确定单元格的数据类型 238
11.1.14 读写单元格区域 239
11.1.15 给单元格区域写值的更好的方法 240
11.1.16 传递一维数组中的内容 242
11.1.17 将单元格区域传递给variant类型的数组 242
11.1.18 选中单元格区域中的最大值 243
11.1.19 选中有某种特殊格式的所有单元格 244
11.2 处理工作簿和工作表 245
11.2.1 保存所有工作簿 246
11.2.2 保存和关闭所有工作簿 246
11.2.3 访问工作簿的属性 246
11.2.4 同步工作表 247
11.3 vba技巧 248
11.3.1 切换布尔类型的属性值 248
11.3.2 确定打印的页面的数量 249
11.3.3 显示日期和时间 249
11.3.4 获得字体列表 250
11.3.5 排序数组 251
11.3.6 处理一系列文件 252
11.4 用在代码中的一些有用的函数 254
11.4.1 fileexists函数 254
11.4.2 filenameonly函数 254
11.4.3 pathexists函数 255
11.4.4 rangenameexists函数 255
11.4.5 sheetexists函数 255
11.4.6 workbookisopen函数 255
11.4.7 检索已经关闭的工作簿中的值 256
11.5 一些有用的工作表函数 257
11.5.1 返回单元格的格式信息 258
11.5.2 显示与保存和打印的文件有关的数据 259
11.5.3 理解对象的父亲 259
11.5.4 计算值介于两个值之间的单元格数目 260
11.5.5 计算单元格区域中可见单元格的数目 261
11.5.6 确定行或者列中最后一个非空的单元格 261
11.5.7 字符串与模式匹配 263
11.5.8 从字符串中提取第n个元素 264
11.5.9 多功能的函数 265
11.5.10 sheetoffset函数 266
11.5.11 返回所有工作表中数据的最大值 266
11.5.12 返回没有重复的随机整数元素的数组 267
11.5.13 随机化单元格区域 269
11.6 windows api 调用 270
11.6.1 确定文件的关联性 270
11.6.2 确定默认打印机的信息 271
11.6.3 确定当前的视频模式 272
11.6.4 给应用程序添加声音 273
11.6.5 读写注册表 274
第4部分 用户窗体 277
第12章 多种自定义对话框的方法 278
12.1 创建用户窗体之前需要了解的内容 278
12.2 使用输入框 278
12.2.1 vba的inputbox函数 278
12.2.2 excel的inputbox函数 280
12.3 vba的msgbox函数 281
12.4 excel的getopenfilename方法 284
12.5 excel的getsaveasfilename方法 287
12.6 提示输入目录名称 287
12.6.1 使用windows api函数选中目录 288
12.6.2 使用filedialog对象选中目录 290
12.7 显示excel的内置对话框 290
12.7.1 使用dialogs 集合 290
12.7.2 了解更多与内置对话框有关的信息 292
12.7.3 用内置对话框时使用参数 292
12.7.4 直接执行菜单项 293
第13章 用户窗体概述 294
13.1 excel如何处理自定义对话框 294
13.2 插入新的用户窗体 294
13.3 往用户窗体上添加控件 295
13.4 “工具箱”的控件 296
13.4.1 复选框 296
13.4.2 组合框 296
13.4.3 命令按钮 296
13.4.4 框架 296
13.4.5 图像 296
13.4.6 标签 297
13.4.7 列表框 297
13.4.8 多页 297
13.4.9 选项按钮 297
13.4.10 refedit 297
13.4.11 滚动条 297
13.4.12 数值调节钮 297
13.4.13 tabstrip 298
13.4.14 文本框 298
13.4.15 切换按钮 298
13.5 调整用户窗体的控件 299
13.6 调整控件的属性 300
13.6.1 使用“属性”窗口 300
13.6.2 共同属性 301
13.6.3 更多属性的信息 301
13.6.4 适应键盘用户的需求 301
13.7 显示和关闭用户窗体 303
13.7.1 显示用户窗体 303
13.7.2 关闭用户窗体 304
13.7.3 关于事件处理程序 305
13.8 创建用户窗体示例 306
13.8.1 创建用户窗体 306
13.8.2 编写代码显示对话框 308
13.8.3 测试对话框 308
13.8.4 添加事件处理程序 309
13.8.5 验证数据的有效性 310
13.8.6 完成的对话框作品 311
13.9 理解用户窗体的事件 311
13.9.1 了解事件 311
13.9.2 用户窗体的事件 312
13.9.3 数值调节钮的事件 312
13.9.4 数值调节钮与文本框配对 314
13.10 引用用户窗体的控件 316
13.11 自定义“工具箱” 317
13.11.1 更改图标或者提示文本 317
13.11.2 添加新页 317
13.11.3 自定义或者组合控件 317
13.11.4 添加新的activex 控件 318
13.12 创建用户窗体的模板 318
13.13 用户窗体检验表 319
第14章 用户窗体示例 320
14.1 创建用户窗体式菜单 320
14.1.1 在用户窗体中使用命令按钮 320
14.1.2 在用户窗体中使用列表框 321
14.2 从用户窗体选中单元格区域 322
14.3 创建欢迎界面 323
14.4 禁用用户窗体的关闭按钮 324
14.5 改变用户窗体的大小 325
14.6 从用户窗体缩放和滚动工作表 326
14.7 列表框技巧 328
14.7.1 关于列表框控件 328
14.7.2 向列表框控件添加条目 329
14.7.3 确定选中的条目 332
14.7.4 确定选中的列表框中的多个条目 332
14.7.5 单个列表框中的多个列表 333
14.7.6 列表框条目的转移 334
14.7.7 在列表框中移动条目 335
14.7.8 使用多列的列表框控件 336
14.7.9 使用列表框选中工作表中的行 338
14.7.10 使用列表框激活工作表 339
14.8 在用户窗体中使用多页控件 341
第15章 用户窗体的高级技巧 343
15.1 显示进度条 343
15.1.1 创建独立的进度条 344
15.1.2 使用多页控件显示进度条 346
15.1.3 不用多页控件显示进度条 347
15.2 创建向导 348
15.2.1 为向导设置多页控件 348
15.2.2 向向导用户窗体添加按钮 349
15.2.3 编写向导按钮的程序 349
15.2.4 编写向导中的相关性代码 351
15.2.5 用向导执行任务 352
15.3 模仿msgbox函数 353
15.3.1 mymsgbox 代码 354
15.3.2 如何模仿msgbox 355
15.3.3 在模仿msgbox函数的过程中使用mymsgbox函数 356
15.4 非模态用户窗体 356
15.5 用一个事件处理程序处理多个用户窗体按钮 358
15.6 在用户窗体中选择颜色 360
15.7 在用户窗体中显示图表 362
15.7.1 将图表保存为文件 362
15.7.2 使用 owc的chartspace 控件 363
15.8 在用户窗体中显示电子表格 366
15.8.1 使得spreadsheet 控件可用 366
15.8.2 把spreadsheet 控件添加到用户窗体中 366
15.8.3 使用owc spreadsheet控件的简单示例 366
15.9 复杂的用户窗体enhanced data form 368
15.9.1 关于enhanced data form 369
15.9.2 安装enhanced data form加载宏 370
15.9.3 使用enhanced data form 370
第5部分 高级编程技巧 371
第16章 用vba开发excel实用程序 372
16.1 关于excel实用程序 372
16.2 使用vba开发实用程序 373
16.3 如何造就好的实用程序 373
16.4 text tools剖析实用程序 373
16.4.1 text tools的背景 374
16.4.2 text tools的工程目标 374
16.4.3 text tools实用程序的运作机理 375
16.4.4 text tools工作簿 375
16.4.5 text tools实用程序的用户窗体 375
16.4.6 thisworkbook 代码模块 376
16.4.7 module1 vba模块 378
16.4.8 userform1代码模块 379
16.4.9 使得text tools实用程序更加有效率 380
16.4.10 保存text tools实用程序的设置 381
16.4.11 实现撤销操作 382
16.4.12 事后分析工程 383
16.4.13 理解text tools实用程序 384
16.5 了解有关excel实用程序的更多内容 384
第17章 数据透视表 386
17.1 介绍性数据透视表示例 386
17.1.1 创建数据透视表 386
17.1.2 检查录制的数据透视表代码 388
17.1.3 整理录制的数据透视表代码 388
17.2 创建更加复杂的数据透视表 389
17.2.1 为更加复杂的数据透视表准备的数据 389
17.2.2 生成数据透视表的代码 390
17.2.3 更复杂的数据透视表的运作机理 392
17.3 从外部数据库创建数据透视表 392
17.4 创建多个数据透视表 394
17.5 修改数据透视表 396
第18章 图表 398
18.1 关于图表 398
18.1.1 图表的位置 398
18.1.2 chart对象模型 399
18.2 录制图表宏 400
18.2.1 图表生成宏录制器输出 400
18.2.2 整理图表生成的宏录制器输出 401
18.3 常用的vba制图方法 402
18.3.1 使用vba激活图表 402
18.3.2 使用vba使得图表处于非活动状态 404
18.3.3 确定图表是否处于活动状态 404
18.3.4 从chartobjects或者charts 集合中删除图表 405
18.3.5 使用vba应用图表的格式 405
18.3.6 遍历所有图表 406
18.3.7 调整chartobject对象的大小和对齐chartobject对象 407
18.4 更多制图的示例 408
18.4.1 在series 公式中使用名称 408
18.4.2 使用vba指定图表使用的数据 410
18.4.3 使用vba确定图表中使用的单元格区域 412
18.4.4 使用vba显示图表上的任意的数据标志 415
18.4.5 在用户窗体上显示图表 416
18.5 理解图表的事件 418
18.5.1 使用图表事件的示例 419
18.5.2 为嵌入图表启用事件 421
18.5.3 在嵌入图表上使用图表事件 423
18.6 vba制图技巧 425
18.6.1 在整个页面上打印嵌入图表 425
18.6.2 创建静态图表 425
18.6.3 用mouseover事件显示文本 426
18.6.4 动态图表 428
18.6.5 创建内摆线图表 429
18.6.6 创建时钟式图表 430
18.7 不使用宏的制图技巧 431
18.7.1 使用“自动筛选”特性控制数据系列 431
18.7.2 在图表工作表上存储多个图表 433
18.7.3 创建自我扩展式的图表 433
18.7.4 创建交互式的图表 438
第19章 理解excel的事件 442
19.1 excel可以监视的事件类型 442
19.2 应该了解的有关事件的信息 442
19.2.1 理解事件的顺序 443
19.2.2 在何处放置事件处理程序的过程 443
19.2.3 禁用事件 444
19.2.4 输入事件处理程序的代码 445
19.2.5 使用参数的事件处理程序的过程 446
19.3 工作簿级别的事件 447
19.3.1 open事件 448
19.3.2 activate事件 449
19.3.3 sheetactivate事件 449
19.3.4 newsheet事件 449
19.3.5 beforesave事件 449
19.3.6 deactivate事件 450
19.3.7 beforeprint事件 450
19.3.8 beforeclose事件 451
19.4 工作表级别的事件 452
19.4.1 change事件 453
19.4.2 监视特定的单元格区域的内容是否发生变化 454
19.4.3 selectionchange事件 456
19.4.4 beforerightclick事件 457
19.5 图表事件 457
19.6 应用程序事件 459
19.6.1 启用应用程序级别的事件 460
19.6.2 确定何时打开工作簿 460
19.6.3 监视应用程序级别的事件 461
19.7 用户窗体事件 462
19.8 没有与对象关联的事件 463
19.8.1 ontime事件 463
19.8.2 onkey事件 465
第20章 与其他应用程序交互 467
20.1 从excel启动别的应用程序 467
20.1.1 使用vba的shell函数 467
20.1.2 使用 windows的shellexecute api函数 469
20.2 用excel激活别的应用程序 470
20.2.1 使用appactivate 470
20.2.2 激活某个microsoft office应用程序 471
20.3 运行“控制面板”对话框 471
20.4 在excel中使用自动化 472
20.4.1 使用automation处理外部对象 473
20.4.2 早期绑定与后期绑定 473
20.4.3 后期绑定的简单示例 475
20.4.4 从excel控制word 476
20.4.5 从另一个应用程序控制excel 479
20.5 通过outlook发送私人的电子邮件 481
20.6 使用ado 482
20.7 从excel发送电子邮件附件 484
20.8 使用sendkeys 484
第21章 创建和使用加载宏 487
21.1 加载宏的概念 487
21.1.1 加载宏与标准工作簿的比较 487
21.1.2 创建加载宏的原因 488
21.2 理解excel的加载宏管理器 489
21.3 创建加载宏 490
21.4 加载宏示例 491
21.4.1 为加载宏示例设置工作簿 491
21.4.2 为加载宏示例测试工作簿 491
21.4.3 为加载宏示例添加描述性信息 491
21.4.4 创建加载宏 492
21.4.5 安装加载宏 493
21.4.6 发布加载宏 494
21.4.7 修改加载宏 494
21.5 对比xla文件和xls文件 495
21.5.1 xls和xla文件大小和结构 495
21.5.2 xla文件的vba集合成员 495
21.5.3 xls和xla文件的可见性 496
21.5.4 xls和xla文件中的工作表和图表工作表 496
21.5.5 在加载宏中访问vba过程 497
21.6 用vba处理加载宏 499
21.6.1 理解addins 集合 499
21.6.2 addins对象属性 500
21.6.3 addins对象事件 503
21.7 优化加载宏的性能 503
21.7.1 最大化加载宏中的代码执行速度 503
21.7.2 控制加载宏的文件大小 504
21.8 加载宏存在的特殊问题 505
21.8.1 确保安装了加载宏 505
21.8.2 从加载宏中引用其他的文件 506
21.8.3 为加载宏检测使用的excel版本是否正确 506
第6部分 开发应用程序 507
第22章 创建自定义工具栏 508
22.1 关于命令栏 508
22.2 工具栏的处理 508
22.3 excel如何处理工具栏 509
22.3.1 保存工具栏 509
22.3.2 当工具栏不能正常运行时 510
22.4 手动处理工具栏和按钮 510
22.4.1 关于命令栏自定义模式 510
22.4.2 发布自定义工具栏 513
22.5 处理commandbars集合 515
22.5.1 命令栏类型 515
22.5.2 列出所有命令栏对象 515
22.5.3 创建命令栏 516
22.5.4 在vba中引用命令栏 517
22.5.5 使用vba删除命令栏 517
22.5.6 命令栏的属性 518
22.5.7 引用命令栏中的控件 522
22.5.8 列出命令栏中的控件 523
22.5.9 列出所有工具栏上的所有控件 523
22.5.10 给命令栏添加控件 525
22.5.11 从命令栏中删除控件 525
22.5.12 命令栏控件的属性 525
第23章 创建自定义菜单 534
23.1 关于excel的菜单栏 534
23.2 使用excel的菜单可以完成哪些任务 534
23.2.1 从专业术语角度理解excel的菜单 535
23.2.2 删除excel菜单元素 536
23.2.3 添加excel菜单元素 536
23.2.4 更改excel菜单元素 536
23.3 使用vba自定义excel菜单 537
23.3.1 列出excel菜单信息 537
23.3.2 往菜单栏添加新的菜单 539
23.3.3 从菜单栏中删除菜单 541
23.3.4 往菜单添加菜单项 541
23.3.5 显示菜单项的快捷键 545
23.3.6 修复重新设置了的菜单 546
23.4 处理事件的菜单程序设计 547
23.4.1 自动添加和删除菜单 547
23.4.2 禁用或者隐藏菜单 548
23.4.3 处理选中的菜单项 549
23.5 创建自定义菜单的简便方法 551
23.6 创建“工作表菜单栏”的替代品 553
23.7 处理快捷菜单 555
23.7.1 往快捷菜单添加菜单项 556
23.7.2 从快捷菜单中删除菜单项 557
23.7.3 禁用快捷菜单项 557
23.7.4 禁用快捷菜单 557
23.7.5 重新设置快捷菜单 558
23.7.6 创建新的快捷菜单 558
第24章 为应用程序提供帮助文档 561
24.1 为应用程序提供帮助 561
24.2 使用excel组件的帮助系统 563
24.2.1 为帮助系统使用单元格组件 563
24.2.2 为帮助系统使用文本框 563
24.2.3 使用工作表显示帮助文本 564
24.2.4 在用户窗体中显示帮助 565
24.2.5 使用“office 助手”显示帮助 567
24.3 在用户窗体中模拟“这是什么?”帮助 569
24.4 使用html help系统 570
24.5 将帮助文件与应用程序关联起来 571
24.6 将帮助主题与某个vba函数关联起来 572
24.7 显示html help文件的其他方法 573
24.7.1 使用help方法 573
24.7.2 从消息框中显示帮助 573
24.7.3 从输入框中显示帮助 574
第25章 开发面向用户的应用程序 575
25.1 什么是面向用户的应用程序 575
25.2 loan amortization wizard 575
25.2.1 使用loan amortization wizard应用程序 575
25.2.2 loan amortization wizard的工作簿结构 577
25.2.3 loan amortization wizard的运作原理 578
25.2.4 增强loan amortization wizard的潜能 581
25.3 应用程序开发概念 582
第7 部分 其他主题 583
第26章 兼容性问题 584
26.1 什么是兼容性 584
26.2 兼容性问题的种类 585
26.3 excel支持的文件格式 585
26.4 避免使用新特性 586
26.5 能够在mac机器上运行吗 587
26.6 创建国际通用的应用程序 588
26.6.1 多语种应用程序 589
26.6.2 vba语言考虑事项 590
26.6.3 使用本地属性 590
26.6.4 识别系统设置 590
26.6.5 日期和时间设置 592
第27章 用vba处理文件 593
27.1 执行常见的文件操作 593
27.1.1 使用vba的有关文件的命令 593
27.1.2 使用filesearch对象 595
27.1.3 使用filesystemobject对象 597
27.1.4 定位包含特定文本的文件 599
27.2 处理文本文件 599
27.2.1 打开文本文件 600
27.2.2 读文本文件 601
27.2.3 写文本文件 601
27.2.4 获得文件编号 601
27.2.5 确定或者设置文件的位置 601
27.2.6 读写文本文件的语句 602
27.3 文本文件处理示例 602
27.3.1 将数据导入到文本文件中 602
27.3.2 将单元格区域导出到文本文件 603
27.3.3 将文本文件的内容导入到单元格区域中 604
27.3.4 记录excel日志的用法 605
27.3.5 筛选文本文件 606
27.3.6 导入多于256列的数据 606
27.3.7 导出单元格区域到html格式的文件 608
27.3.8 导出单元格区域到xml格式的文件 610
第28章 处理vb组件 613
28.1 ide概述 613
28.2 ide对象模型 614
28.3 显示vba工程中的所有组件 617
28.4 对模块进行更改 618
28.5 使用vba来编写vba代码 620
28.6 在设计时往用户窗体上添加控件 621
28.6.1 设计时与运行时对用户窗体处理的比较 622
28.6.2 在设计时添加100个命令按钮 623
28.7 通过编程创建用户窗体 624
28.7.1 简单的运行时用户窗体的示例 624
28.7.2 有用的动态用户窗体示例 626
第29章 理解类模块 631
29.1 什么是类模块 631
29.2 创建numlock 类 632
29.2.1 插入类模块 632
29.2.2 添加vba代码到类模块中 632
29.2.3 使用numlock 类 635
29.3 更多有关类模块的信息 636
29.3.1 命名对象类 636
29.3.2 对对象的属性进行编程 636
29.3.3 对对象的方法进行编程 637
29.3.4 类模块事件 638
29.4 一个csv文件类 638
29.4.1 csvfileclass类模块的类模块级别的变量 638
29.4.2 csvfileclass 类模块的属性过程 639
29.4.3 csvfileclass 类模块的方法过程 639
29.4.4 使用csvfileclass对象 641
第30章 有关excel编程的常见问题 643
30.1 一般的excel问题 643
30.1.1 为什么excel有两种宏语言 643
30.1.2 需要发布工作簿给仍然使用excel 4的某些人,有办法将动作录制到某个xlm宏中吗 643
30.1.3 在excel 97以及更高的版本中还能运行为更早的excel版本而编写的xlm宏吗 643
30.1.4 能够找到将excel 4宏转换为vba宏的第三方实用程序吗 643
30.1.5 能够从excel 4.0 xlm 宏调用vba过程吗 643
30.1.6 能够自动将lotus 1-2-3或者quattro pro宏转换为vba宏吗 644
30.1.7 在哪里可以找到vba代码的示例 644
30.1.8 有将excel应用程序转换成独立的exe文件的实用程序吗 644
30.1.9 如何在单元格中添加一个下拉列表,使得用户可以从这个列表中选择某个值 644
30.1.10 如果列表存储在活动工作簿中的另一个工作表内,还可以使用这种下拉列表方法吗 644
30.1.11 使用application.calculation将计算模式设置为手动。然而,这看来会影响所有的工作簿而不仅仅是活动工作簿 644
30.1.12 如何才能增加工作表中的列数 644
30.1.13 如何才能增加工作表中的行数 645
30.1.14 能改变工作表标签的颜色吗 645
30.1.15 能改变工作表标签的字体吗 645
30.1.16 能够改变单元格批注的默认字体和颜色吗 645
30.1.17 能够在excel中播放声音吗 645
30.1.18 当打开工作簿时,excel询问是否要更新链接,搜索了所有的公式之后,在这个工作簿中都找不到任何链接,这是bug吗 645
30.1.19 每次启动excel都崩溃 645
30.1.20 在页眉如何打印出工作簿的完整路径和文件名 646
30.2 有关visual basic 编辑器的问题 646
30.2.1 在excel 95中,vba模块还在工作簿中。当从excel 97或者更高的版本中打开这个文件时,却看不到这些vba模块了 646
30.2.2 能够使用vba宏录制器录制所有的宏吗 646
30.2.3 excel 95具有“在标记处录制”特性,利用该特性可以从现有宏中的某个特殊位置开始录制宏。这个特性仍然有用吗 646
30.2.4 有一些宏比较通用,想让它们在任何时候都能够用,最好采用哪种办法 647
30.2.5 找不到“个人宏工作簿”,它在哪里 647
30.2.6 用密码锁定了vba工程,但是却忘记了命名。有什么办法可以解除锁定 647
30.2.7 如何编写宏来更改工程的密码 647
30.2.8 当插入新的模块时,总是从option explicit 代码行开始。这是为什么 647
30.2.9 为什么vba代码以不同的颜色显示?能改变这些颜色吗 647
30.2.10 能用vba代码删除vba模块吗 647
30.2.11 在excel 2000中编写了一个宏,这个宏往vb工程中添加一些vba代码。当在excel 2003中运行这个宏的时候,就会得到一条消息。这是怎么回事 648
30.2.12 如何编写宏来更改用户的宏安全性设置?希望在打开编写的应用程序时避免出现“工作簿中包含宏”消息 648
30.2.13 当打开工作簿时,得到标准的宏警告消息。可是,删除了这个工作簿中包含的所有宏。这是病毒吗 648
30.2.14 不理解保护工作表时userinterfaceonly 选项的运作原理 648
30.2.15 如何辨别工作簿是否含有宏病毒 648
30.2.16 在vba中使用符号(&)时遇到麻烦。当要连接两个字符串时,就会得到错误消息 648
30.2.17 vba换行连续字符(下划线)不起作用 648
30.2.18 删除大量的vba代码之后,发现xls文件的大小并没有相应缩减,为什么 649
30.2.19 给很多用户发布一个xls应用程序。在某些机器上,其中的vba错误处理过程不起作用。为什么 649
30.3 过程 649
30.3.1 vba过程和宏之间有什么区别 649
30.3.2 什么是过程 649
30.3.3 什么是variant 数据类型 649
30.3.4 variant 数组和variant元素构成的数组之间有什么区别 649
30.3.5 什么是类型定义字符 650
30.3.6 编写了一个vba函数,当从另一个过程调用它时运行得很好。但是当在工作表公式中使用它时却运行不了。这是怎么回事 650
30.3.7 想创建一个根据所键入的数据自动更改单元格格式的过程。例如,如果输入的值大于0,那么单元格的背景颜色就变成红色。这可能做到吗 650
30.3.8 “条件格式”特性很有用,但是更喜欢当在单元格中输入数据时执行其他类型的操作 650
30.3.9 可以监视其他类型的事件吗 650
30.3.10 试着输入了一个事件过程(sub workbook_open),但是当打开工作簿时却没有执行这个过程。这是为什么 651
30.3.11 可以为某个特殊的工作簿编写事件过程,但是能够为任意打开的工作簿编写事件过程吗 651
30.3.12 对在excel中创建公式非常熟悉。vba也使用了同样的机制和逻辑运算符吗 651
30.3.13 如何在别的工作簿中执行过程 651
30.3.14 使用vba创建了几个自定义函数。想在工作表公式中使用这些函数,但是发现在函数名称前加上工作簿的名称极其不方便。还有别的办法吗 651
30.3.15 希望在每次启动时加载某个特殊的工作簿。还希望自动执行这个工作簿中的某个宏。是不是不大可能做到 652
30.3.16 有一个工作簿使用了workbook_open过程。有没有办法避免当打开这个工作簿时执行这个过程呢 652
30.3.17 vba过程能够访问没有打开的工作簿中的某个单元格的值吗 652
30.3.18 当从vba关闭工作簿时,如何避免显示“保存文件”的提示 652
30.3.19 如何设置才能使得宏每小时运行一次 652
30.3.20 如何防止在宏列表中显示某个宏 652
30.3.21 可以将图表保存为gif文件吗 653
30.3.22 某个vba过程中的变量能在其他的vba过程中使用吗?可以在别的模块中使用另外一个模块中的过程吗?可以在别的工作簿中使用另外一个工作簿中的过程吗 653
30.4 函数 653
30.4.1 创建了一个自定义的工作表函数。当用“插入函数”对话框访问这种函数时,出现“没有帮助信息”。如何才能使得“插入函数”对话框显示关于这个函数的说明呢 653
30.4.2 还能够在“插入函数”对话框中显示出自定义函数的参数帮助信息吗 653
30.4.3 自定义工作表函数出现在“插入函数”对话框的“用户定义”类别中。怎么才能使得自定义的函数出现在别的函数类别中呢 653
30.4.4 如何创建新的函数类别 654
30.4.5 创建了一个将用在工作表公式中的自定义函数。如果用户输入的参数值不合适,怎么才能使得函数返回真正的错误值(#value!) 654
30.4.6 如何强制重算使用了自定义工作表函数的公式 654
30.4.7 能在vba代码中使用excel的内置工作表函数吗 654
30.4.8 excel 95不支持worksheetfunction方法。这意味着编写的excel 2002应用程序不能兼容于excel 95吗 655
30.4.9 在vba代码中能够使用analysis toolpak的函数吗 655
30.4.10 有办法在消息框的文本中强制换行吗 655
30.5 对象、属性、方法和事件 655
30.5.1 不理解对象的概念,有可以使用的excel对象的列表吗 655
30.5.2 有太多属性和方法可以使用。如何从中找出适用于某个特殊对象的方法和属性呢 655
30.5.3 集合的概念是什么?集合是对象吗 656
30.5.4 当在vba代码中引用工作表时,就会得到“下标越界”的错误。没有使用任何下标,怎么会出现这种错误呢 656
30.5.5 如何避免用户的鼠标指针滚动到工作表的外部 656
30.5.6 select和application.goto之间有什么区别 656
30.5.7 激活单元格区域和选中单元格区域之间有什么区别 656
30.5.8 有没有快速办法可以删除工作表的所有值,但是保持公式原封不动 657
30.5.9 知道如何编写vba指令通过使用单元格地址来选中某个单元格区域,但是如果只知道单元格区域的行号和列号,又该如何编写vba指令来选中单元格区域呢 657
30.5.10 有退出excel的vba命令吗?当试着录制“文件”“退出”命令时,还没有看到它生成的代码excel就关闭了 657
30.5.11 怎么关闭运行宏时的屏幕更新动作 657
30.5.12 在vba中创建单元格区域名称的最简单的方法是什么 657
30.5.13 如何确定某个特殊的单元格或者单元格区域是否有名称 657
30.5.14 可以禁用显示在excel的“打印预览”窗口中的“设置”和“页边距”按钮吗 658
30.5.15 宏在运行的时候能够在状态栏中显示消息吗?编写了一个很长代码的宏,如果能在状态栏中显示它的运行进度就好了 658
30.5.16 录制了一个vba宏,它复制某个单元格区域并将其粘贴到别的区域中。这个宏使用了select方法。还有更加有效率的方式进行复制粘贴吗 658
30.5.17 没有找到排序vba数组的方法。只能先把值复制到工作表中,然后再使用range.sort方法吗 658
30.5.18 宏只对选中的单元格起作用,但是如果选中了别的内容(比如图表),则会运行失败。如何能确保选中单元格区域了呢 659
30.5.19 如何确定图表是否处于活动状态 659
30.5.20 vba宏要计算用户选中的行数。当选中不相邻的行时,使用selection.rows.count 不起作用。这是bug吗 659
30.5.21 使用excel创建发票,能生成惟一的发票编号吗 659
30.5.22 想使得某个工作簿一直保持可见,这样别的应用程序窗口就不能隐藏该工作簿了,有这种属性吗 660
30.5.23 如何阻止excel在运行时显示消息?例如,下面将消除宏删除工作表时所出现的消息 660
30.5.24 可以用vba指令选中某一列或者某一行中的最后一项吗?一般而言,可以使用ctrl+shift+下箭头键或者ctrl+shift+右箭头键组合,但是用宏应该怎么办呢? 660
30.5.25 如何确定某个特殊列中的最后一个非空的单元格 660
30.5.26 如果a65536单元格不为空,上述指令就不会起作用 660
30.5.27 vba引用可以变得非常长,特别是在需要通过引用工作表和工作簿使得对对象的引用符合标准时。能缩减这种引用的长度吗 661
30.5.28 如果不知道数组包含多少元素,可以声明数组吗 661
30.5.29 能允许用户撤销宏吗 661
30.5.30 有一个1-2-3宏能够暂停运行使得用户可以在某个特定的单元格中输入数据。如何在vba宏中获得同样的效果呢 661
30.5.31 vba有一个inputbox函数,但是还有一个application对象的inputbox方法,两者一样吗 661
30.5.32 当使用rgb函数指定颜色后,有时候颜色不对。为什么 662
30.5.33 编写vba指令创建一个公式,如果需要在引号引起来的文本中插入引号("),该怎么办呢 662
30.5.34 创建了一个数组,但是数组中的第1个元素却成了第2个元素。这是为什么 662
30.5.35 希望vba代码运行的速度尽可能快,有什么建议 662
30.6 用户窗体 662
30.6.1 只需要少量的信息,而使用用户窗体似乎有些大材小用,有别的办法吗 663
30.6.2 用户窗体上有12个命令按钮。如何指定当单击其中任意一个按钮时执行某一个宏 663
30.6.3 如何在用户窗体中显示图表 663
30.6.4 如何从用户窗体的标题栏上删除“关闭”按钮,不希望用户单击这个按钮来关闭窗体 663
30.6.5 创建了一个用户窗体,其中的控件用controlsource属性链接到了工作表上的单元格。这是最佳的办法吗 663
30.6.6 能为用户窗体创建一个控件数组吗?visual basic可以这么做,但是不知道在excel vba中如何做 663
30.6.7 隐藏用户窗体和卸载用户窗体之间有区别吗 664
30.6.8 做其他事情时如何保持用户窗体的打开状态 664
30.6.9 在编写userform1.show vbmodeless时,excel 97出现一个编译错误。如何在excel 2000以及更高的版本中使得窗体成为无模式的,而同时使其在excel 97中保持模态设置 664
30.6.10 想在执行耗费长时间的过程的同时显示一个进度条,就像在安装软件时看到的那样。该怎么做呢 664
30.6.11 如何使用excel的绘图工具在用户窗体上创建简单的图形 665
30.6.12 如何才能在用户窗体上产生文件及其目录的列表,以便用户可以从这个列表中选择文件呢 665
30.6.13 想把两个字符串连接起来并将它们显示在一个列表框控件中。但是在实现的时候,对不齐这些字符串。怎么才能使得字符串之间具有相等的间距呢 665
30.6.14 想用条目填充列表框或者组合框控件,有没有简单的办法 665
30.6.15 能从vba显示内置的excel对话框吗 665
30.6.16 尝试了上一个问题中描述的方法,但是却收到错误消息。这是为什么 665
30.6.17 每次创建用户窗体时,都要重复添加“确定”按钮和“取消”按钮的步骤。有没有办法可以使得这些控件自动出现呢 665
30.6.18 可以创建不带标题栏的用户窗体吗 666
30.6.19 录制了一个打印文件的vba宏。然而,好像无法在代码中提供文件名。无论怎么试,都会得到希望提供文件名的提示 666
30.6.20 当在用户窗体上单击某个按钮时,没有任何反应。哪里做错了 666
30.6.21 不管视频显示器的分辨率是多少,能创建大小一样的用户窗体吗 666
30.6.22 可以创建用户窗体使得用户能够通过指示选中工作表的某个单元格区域吗 666
30.6.23 能改变用户窗体的启动位置吗 666
30.6.24 可以往工作簿中添加 excel 5/95对话框工作表吗 666
30.7 加载宏 666
30.7.1 从哪里可以获得excel加载宏 667
30.7.2 如何安装加载宏 667
30.7.3 当从excel的“加载宏”对话框安装加载宏时,加载宏没有名称或者说明。如何给加载宏添加说明呢 667
30.7.4 有一些加载宏不再使用,如何才能从“加载宏”对话框的“可用加载宏”列表中将它们删除呢 667
30.7.5 如何创建加载宏 667
30.7.6 想创建一个加载宏,但是“保存类型”下拉列表中没有提供加载宏方面的选项 667
30.7.7 应该将所有必要的工作簿转换为加载宏吗 667
30.7.8 需要将工作簿保存两个副本(xls版本和xla版本)吗 668
30.7.9 如何在创建加载宏之后对其进行修改呢 668
30.7.10 xls文件与依据xls文件创建的xla文件之间有什么区别?xla版本是编译后的结果吗?xla版本是否运行得更快呢 668
30.7.11 如何保护加载宏的代码,使得别人查看不到它的代码 668
30.7.12 xla加载宏安全吗?换句话说,如果发布了xla文件,能保证没有人能够查看其中的代码吗 668
30.8 命令按钮 668
30.8.1 excel 95拥有一个很方便的菜单编辑器,但是excel 97以及更高的版本中却没有这种菜单编辑器。该怎么办 668
30.8.2 能编辑用excel 95的菜单编辑器创建的菜单吗 668
30.8.3 当用“自定义”对话框更改菜单时,菜单的改变是永久性的。如何才能使得菜单的更改只应用于一个工作簿呢 669
30.8.4 知道可以使用faceld属性给工具栏控件添加图像,但是如何找到对应于某个特殊图像的faceld 值呢 669
30.8.5 往工作簿附加了一个新版的工具栏,但是excel继续使用老式的版本,如何才能使用新版本的工具栏呢 669
30.8.6 已经对excel的工具栏做了大量的修改。如何才能将所有这些工具栏恢复成原来的状态呢 669
30.8.7 如何使得自定义菜单只在某个特殊的工作簿处于活动状态时才显示出来 669
30.8.8 如何在工具栏上的两个按钮之间添加分隔栏 669
30.8.9 如何在菜单项旁边显示选中标记 670
30.8.10 不小心删除了工作表菜单中的某些项,但是找不回来,重新启动excel也不能修复 670
30.8.11 如何禁用所有单击右键出现的快捷菜单 670
30.8.12 能禁用当用户在工具栏上单击鼠标右键出现的工具栏列表吗 670
第8部分 附录 671
附录a excel在线资源 672
附录b vba语句和函数引用 677
附录c vba错误代码 684
附录d 光盘上的内容 687
· · · · · · (收起)

读后感

评分

经常自己编辑EXCEAL公式用在工作里,后来想深入学习一下,翻了不少的童蕾的书,发现这本书确实很不错,章节安排的合理,内容触及本质,相比其它好多资料命令的堆砌和解释来说,这本书是非常好的一本教材。

评分

经常自己编辑EXCEAL公式用在工作里,后来想深入学习一下,翻了不少的童蕾的书,发现这本书确实很不错,章节安排的合理,内容触及本质,相比其它好多资料命令的堆砌和解释来说,这本书是非常好的一本教材。

评分

经常自己编辑EXCEAL公式用在工作里,后来想深入学习一下,翻了不少的童蕾的书,发现这本书确实很不错,章节安排的合理,内容触及本质,相比其它好多资料命令的堆砌和解释来说,这本书是非常好的一本教材。

评分

经常自己编辑EXCEAL公式用在工作里,后来想深入学习一下,翻了不少的童蕾的书,发现这本书确实很不错,章节安排的合理,内容触及本质,相比其它好多资料命令的堆砌和解释来说,这本书是非常好的一本教材。

评分

经常自己编辑EXCEAL公式用在工作里,后来想深入学习一下,翻了不少的童蕾的书,发现这本书确实很不错,章节安排的合理,内容触及本质,相比其它好多资料命令的堆砌和解释来说,这本书是非常好的一本教材。

用户评价

评分

我必须承认,当我第一次翻开《Excel 2003高级VBA编程宝典》的时候,的确对它的“年龄”有所顾虑,但随着阅读的深入,我发现这本书的价值丝毫不减。它不仅仅是一本关于Excel VBA的编程指南,更是一本关于如何利用Excel VBA解决实际工作问题的“宝典”。书中关于用户自定义类(User-Defined Classes)的讲解,让我对面向对象编程在VBA中的应用有了更深刻的理解。 通过类,我们可以创建自己的对象,赋予它们特定的属性和行为,这使得代码的组织结构更加清晰,可维护性也大大提高。书中提供的案例,比如创建自定义的“数据记录”对象,或者“报表生成器”类,都非常实用,并且能够帮助读者举一反三,构建更复杂的应用程序。这种深入的面向对象编程思想的引入,对于提升VBA编程的质量和效率,起到了至关重要的作用。

评分

我对这本书的整体评价是:一本值得反复研读的Excel VBA进阶指南。虽然这本书出版时间较早,但其核心思想和高级编程技巧,在当前版本的Excel中依然适用,甚至可以说,打好坚实的基础,比追逐最新的语法特性更为重要。《Excel 2003高级VBA编程宝典》在这方面做得非常出色。它深入浅出地讲解了许多Excel VBA中的精髓,例如对Excel对象模型(Object Model)的深度剖析,这不仅仅是简单地罗列对象和属性,而是教你如何像Excel本身一样思考,如何用编程的方式去理解和操作Excel的各个组成部分,比如工作簿、工作表、单元格、图表等等。 书中还对一些非常实用但往往容易被初学者忽视的技术进行了详细阐述,比如API函数的使用。通过调用Windows API函数,我们可以实现一些VBA本身无法直接完成的功能,这无疑极大地增强了VBA的灵活性和强大性。作者对于API函数的介绍,不仅讲解了如何调用,还提供了很多实际的应用示例,让我大开眼界。另外,对于多线程处理和异步操作的探讨,虽然在03年可能还不是主流,但其思想的启蒙作用是巨大的,让我开始思考如何提升程序的响应速度和用户体验。

评分

这本书给我的最大感受是,它真的把“高级”二字体现得淋漓尽致。它不仅仅教你写代码,而是教你如何“思考”VBA编程。《Excel 2003高级VBA编程宝典》在讲解Excel VBA的底层机制和高级技巧时,非常严谨且深入。例如,关于内存管理和性能优化的讨论,虽然可能不是所有人都需要深入研究,但对于那些需要处理超大规模数据或构建复杂应用程序的开发者来说,这些内容至关重要。 书中还介绍了如何使用VBA与Windows Shell对象进行交互,这使得我们可以直接在Excel VBA中执行Windows命令,或者管理文件和文件夹。这极大地扩展了Excel VBA的功能边界,让我们可以将Excel与操作系统进行更深度的集成。书中提供的API调用示例,也帮助我理解了如何突破Excel VBA本身的限制,实现更强大的功能。

评分

我之前学习VBA,总觉得有点零散,很多知识点就像散落的珠子,很难串联成一条有用的项链。直到我开始阅读《Excel 2003高级VBA编程宝典》,我才真正体会到VBA编程的系统性和逻辑性。《Excel 2003高级VBA编程宝典》这本书,将Excel VBA的方方面面都进行了深入的梳理和讲解。它从宏录制入手,但是并没有止步于此,而是非常迅速地引导读者进入到更深层次的编程逻辑。 其中关于事件驱动编程的讲解,让我对Excel VBA有了全新的认识。Excel中的各种事件,比如工作簿打开、工作表激活、单元格改变等,都可以通过VBA代码来响应,从而实现一些自动化和交互式的效果。书中提供了大量的实例,演示了如何利用这些事件来完成各种复杂的任务,比如在用户进入某个单元格时自动弹出提示,或者在修改某个数据后自动刷新相关的图表。这使得Excel不仅仅是一个表格工具,更像是一个可以根据用户操作做出智能反应的应用程序。

评分

这本书的内容深度和广度都超出了我的预期。我本来以为一本03年的书,在内容上会有很大的局限性,但事实证明,这本书所讲解的Excel VBA的核心概念和高级技巧,是具有跨时代意义的。《Excel 2003高级VBA编程宝典》在讲解Excel对象模型时,并没有回避那些复杂的对象和方法,而是非常有耐心地进行分解,并且用生动的例子来展示它们的作用。 让我印象深刻的是,书中对ADODB(ActiveX Data Objects)的讲解。虽然不是Excel VBA的专属内容,但将其应用于Excel VBA,可以实现与数据库的无缝连接。这对于那些需要处理大量外部数据的用户来说,简直是福音。通过ADODB,我们可以直接从Access、SQL Server等数据库中读取数据,或者将Excel中的数据写入数据库,大大提高了数据处理的灵活性和效率。书中的案例非常详细,从连接数据库到执行SQL语句,再到处理查询结果,都进行了清晰的演示。

评分

作为一名长期与Excel打交道的普通用户,我一直觉得Excel的功能强大,但有时在处理重复性、繁琐性的任务时,确实让人力不从心。《Excel 2003高级VBA编程宝典》这本书,就像给我打开了一扇新世界的大门。它并没有让我觉得VBA编程是一件遥不可及的难事,而是通过循序渐进的方式,将复杂的编程概念变得触手可及。书中对于如何使用VBA来自动化报表生成,如何创建交互式的分析工具,以及如何进行数据清洗和预处理,都提供了非常详尽的指导。 我特别喜欢书中关于如何设计和实现自定义函数(UDF)的部分。自定义函数可以极大地简化我们日常在Excel中进行复杂计算的过程,将原本需要多步操作才能完成的计算,变成一个简单的公式。这本书详细讲解了自定义函数的语法、参数传递、返回值设置,以及如何将自定义函数集成到Excel的函数列表中,供其他用户直接调用。这对于提升团队的工作效率,规范数据处理流程,有着非常重要的意义。

评分

这本书的作者显然对Excel VBA有着非常深入的理解,并且能够将复杂的概念用清晰易懂的语言解释出来。我最欣赏的是,它不仅仅是理论堆砌,而是充满了大量的实战案例。这些案例覆盖了从数据分析、报表自动化到用户界面定制等各个方面,非常贴合实际工作中的需求。举个例子,书中关于如何处理大量数据的高效方法,比如使用数组、对象模型的高级用法,以及如何优化代码性能,都让我受益匪浅。以前我总是凭感觉写代码,效率不高,遇到大批量数据处理的时候就卡顿。这本书给我提供了一些系统性的方法,让我能够写出更健壮、更高效的代码。 特别让我印象深刻的是,书中对错误处理机制的讲解。在实际编程过程中,错误是难免的,如何有效地处理这些错误,避免程序崩溃,并且给用户友好的提示,是非常重要的。这本书在这方面提供了非常详细的指导,包括各种错误处理语句的用法,以及如何针对不同的错误类型进行处理。还有关于外部程序集成的内容,比如如何通过VBA调用其他应用程序,或者如何将Excel数据导入导出到其他格式,这些都极大地扩展了Excel VBA的应用边界。

评分

总的来说,这本书是一部Excel VBA的经典之作,即使以现在的眼光来看,其内容深度和实用性依然是无可挑剔的。《Excel 2003高级VBA编程宝典》在讲解过程中,非常注重逻辑的严谨性和知识的系统性。它没有像一些入门书籍那样,仅仅停留在“能用”的层面,而是深入到了“如何用好”、“如何用巧”、“如何用高效”的层面。 书中关于图表自动化、数据透视表操作、以及与其他Office组件(如Word、Outlook)的交互等方面的内容,都给了我很多启发。它让我意识到,Excel VBA并不仅仅局限于Excel本身,而是可以作为Office套件的“粘合剂”,实现跨应用程序的协同工作。这种宏观的视角,让我对Excel VBA的应用有了更广阔的认识。

评分

我最近在学习Excel VBA,想着把技术再往上一个台阶,于是就入手了这本《Excel 2003高级VBA编程宝典》。说实话,当初买这本书的时候,心里还是有点忐忑的,毕竟是03年的书了,现在的Excel版本都更新到不知道多少代了,心想这些老书里的知识会不会已经过时,或者根本就用不上了?但是,当我翻开第一页,读完目录,再看一些章节的开篇,我的疑虑就渐渐消散了。这本书的结构设计非常合理,从最基础的概念入手,逐步深入到一些非常高级和实用的主题。它并没有仅仅停留在语法层面的讲解,而是着重于如何运用VBA来解决实际工作中的问题。 书中对于用户窗体(UserForm)的设计和交互处理,我感觉尤其深刻。它不仅仅是教你如何拖拽控件,更重要的是如何通过VBA代码来实现控件之间的联动,如何捕获用户的输入,并进行验证和处理。很多时候,我们用Excel做报表或者数据处理,需要一个更友好的用户界面,这时候VBA的用户窗体就派上用场了。这本书里的一些例子,比如动态生成报表、创建自定义输入界面等,都让我看到了VBA的强大之处。它还讲到了如何使用类模块(Class Modules),这对于构建更大型、更模块化的VBA项目来说至关重要。通过类模块,我们可以封装数据和方法,让代码更易于维护和重用。

评分

读完《Excel 2003高级VBA编程宝典》,我感觉自己在Excel VBA的道路上向前迈进了一大步。这本书不仅仅传授了大量的编程知识,更重要的是培养了我解决问题的思路和方法。《Excel 2003高级VBA编程宝典》在讲解如何进行应用程序级的开发时,提供了非常系统性的指导。 书中涉及了如何构建大型VBA项目,包括模块化设计、代码重用、框架搭建等方面的考虑。它还强调了用户体验的重要性,以及如何通过VBA来改善Excel的工作流程,提高用户的操作效率。例如,如何创建自定义的Ribbon菜单,如何设计更加人性化的对话框,如何实现对用户操作的有效引导和反馈,这些内容都让我看到了Excel VBA在商业应用中的巨大潜力。

评分

确实是宝典

评分

是否可比候捷先生的《word排版艺术》?

评分

学习VBA的最好教材,从入门到精通。行业经验就只有靠个人积累了。

评分

确实是宝典

评分

不错!不过想深入还需要别的书配合!

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 qciss.net All Rights Reserved. 小哈图书下载中心 版权所有