第一部分 Excel VBA基本语法 1
第一章 宏与VBA 1
第一节 宏 2
范例1-1-1显示和隐藏“开发工具”选项卡 2
范例1-1-2设计图书卡 3
范例1-1-3把宏指定到图片 4
范例1-1-4把宏保存到文件 5
范例1-1-5删除宏 7
范例1-1-6对宏安全性进行设置 8
第二节 VBA 10
范例1-2-1打开VBE 11
范例1-2-2从VBE返回Excel 12
范例1-2-3通过工程资源管理器插入一个宏模块 13
范例1-2-4 通过工程资源管理器删除一个宏模块 15
范例1-2-5为宏代码加密 15
范例1-2-6向标准工具栏中添加立即窗口命令 16
范例1-2-7在VBA中对宏进行编辑优化 17
第二章 语法入门 19
第一节 面向对象的程序设计 20
范例2-1-1创建一个类模块 20
范例2-1-2根据存在的类创建对象 22
范例2-1-3在对象浏览器中查看类及对象 24
范例2-1-4设置窗体尺寸及位置 26
范例2-1-5使用代码关闭当前工作簿 26
第二节 数据与数据类型 27
范例2-2-1为变量和常量命名 27
范例2-2-2声明变量 27
范例2-2-3数据类型 28
范例2-2-4用户自定义类型 29
范例2-2-5强制声明变量 30
范例2-2-6使用变量 31
范例2-2-7使用局部变量 31
范例2-2-8使用全局变量 32
范例2-2-9对象变量的使用 32
范例2-2-10自定义常量的使用 33
范例2-2-11内置常量的使用 34
范例2-2-12使用一维数组 35
第三节 运算符与表达式 36
范例2-3-1算术运算符及表达式 36
范例2-3-2比较运算符及表达式 37
范例2-3-3字符串运算符及表达式 37
范例2-3-4逻辑运算符及表达式 37
范例2-3-5引用运算符及表达式 38
范例2-3-6其他运算符及表达式 38
第四节 语句基础 40
范例2-4-1使用MsgBox函数输出 40
范例2-4-2使用InputBox函数输入 42
范例2-4-3 If…Then语句 43
范例2-4-4 If…Then…Else语句 43
范例2-4-5阶梯电价的计算 43
范例2-4-6企业信用等级的判定 44
范例2-4-7使用While…Wend计算从1到100的累加值 46
范例2-4-8使用Do…Loop计算从1到100的累加值 47
范例2-4-9使用For…Next计算从1到100的累加值 48
范例2-4-10计算所选工作表区域之和 49
范例2-4-11使用嵌套循环解决数学问题 50
范例2-4-12使用On Error进行错误处理 51
范例2-4-13使用Resume语句进行错误处理 53
第五节 过程与函数 55
范例2-5-1调用具有多个参数的Sub过程 56
范例2-5-2调用Fuction过程 56
范例2-5-3在Fuction过程中使用可选参数 57
范例2-5-4在Fuction过程中使用不定参数 57
范例2-5-5自定义工作表函数 58
范例2-5-6使用VBA的内置函数 59
第二部分 Excel VBA对象模型应用 62
第三章 应用程序操作 62
第一节 Application属性操作 63
范例3-1-1显示活动打印机的名称 63
范例3-1-2调用“另存为”对话框 63
范例3-1-3检查并显示编辑栏 64
范例3-1-4显示或隐藏整个Excel的滚动条 65
范例3-1-5设置Excel窗口的大小和位置 66
范例3-1-6设置Excel为全屏模式 66
范例3-1-7检查并隐藏Excel应用 67
范例3-1-8返回窗口状态,并根据需要设置是否最小化 68
范例3-1-9在VBA中使用工作表函数 69
第二节 Application对象的方法操作 71
范例3-2-1使用“打开”对话框打开文件 71
范例3-2-2与其他应用程序通信 71
范例3-2-3为宏程序指定快捷键 74
范例3-2-4 30秒后运行指定过程 75
范例3-2-5退出Excel 77
第四章 窗口应用 78
第一节 Window(s)属性操作 79
范例4-1-1修改并获取当前窗口的标题 79
范例4-1-2显示单元格中的公式 80
范例4-1-3显示和设置工作表中的网格线 81
范例4-1-4 显示和隐藏工作表标签 83
范例4-1-5根据用户要求调整窗口显示比例 84
范例4-1-6自定义窗口 84
范例4-1-7隐藏窗口中的零值 85
范例4-1-8选择合适的视图方式 86
第二节 Window对象的方法操作 89
范例4-2-1保存并关闭工作簿窗口 89
第五章 工作簿应用 91
第一节 Workbook属性操作 92
范例5-1-1删除工作簿中所有的图表工作表 92
范例5-1-2设置共享工作簿为自动更新 93
范例5-1-3保存共享工作簿的历史版本 94
范例5-1-4在共享工作簿中启动修订功能 95
范例5-1-5隐藏工作簿中的所有图形 96
范例5-1-6显示工作簿名称 97
范例5-1-7检查工作簿中是否存在宏项目 98
范例5-1-8检查工作簿是否以只读方式打开 98
范例5-1-9检查工作簿是否建议以只读方式打开 99
范例5-1-10检查工作簿保存后是否发生过修改 100
范例5-1-11显示工作簿中第一个工作表的名称 101
范例5-1-12检查工作簿的自动恢复功能 102
范例5-1-13取得当前打开的工作簿数 103
范例5-1-14为工作簿设置打开密码 103
范例5-1-15 检查工作簿是否有保护 104
范例5-1-16检查并保护工作簿 106
范例5-1-17为工作簿设置写保护密码 106
第二节 Workbook对象的方法操作 108
范例5-2-1激活工作簿 108
范例5-2-2将主题应用到工作簿 108
范例5-2-3通过ChangeFileAccess方法设置工作簿权限 110
范例5-2-4 Excel服务器应用 111
范例5-2-5不保存退出Excel 112
范例5-2-6打印当前工作簿中的前3页 113
范例5-2-7保护当前工作簿 114
范例5-2-8禁止指定用户与共享工作簿的连接 115
范例5-2-9保存当前工作簿中的更改 116
范例5-2-10另保存当前工作簿中的更改 117
范例5-2-11将当前工作簿以副本保存 118
范例5-2-12取消工作簿保护 119
范例5-2-13新建工作簿 120
范例5-2-14打开工作簿 120
范例5-2-15 关闭工作簿 121
第三节 Workbook(s)对象的事件操作 123
范例5-3-1保存成功后提示 123
范例5-3-2保存前确认是否保存 125
范例5-3-3在工作簿中创建图表时提示 125
范例5-3-4 新建工作表后提示工作表数量 126
范例5-3-5打开工作簿时提示工作簿名称 127
第六章 工作表应用 128
第一节 Worksheet属性操作 130
范例6-1-1删除工作簿中所有的图表工作表 130
范例6-1-2删除当前工作表中的所有批注 131
范例6-1-3隐藏除第一个工作表外的其他工作表 132
范例6-1-4创建目录工作表 132
范例6-1-5删除工作表中的空行 134
范例6-1-6限制工作表的滚动区域 135
范例6-1-7保护工作表 135
范例6-1-8页面设置 137
第二节 Worksheet对象的方法操作 141
范例6-2-1选择工作表 141
范例6-2-2激活工作表 142
范例6-2-3把工作表复制到指定位置 143
范例6-2-4删除空工作表 144
范例6-2-5将工作表导出为PDF文档 145
范例6-2-6在现有工作表之后插入工作表 146
范例6-2-7将当前工作表移动到其他工作簿 147
范例6-2-8复制工作表中的内容数据 148
范例6-2-9向工作表中粘贴网页中的文字 149
范例6-2-10建立数据透视表 150
范例6-2-11为工作表设置背景 152
第三节 Worksheet(s)对象的事件操作 153
范例6-3-1验证后编辑工作簿 153
范例6-3-2改变更改内容的颜色和字体 155
范例6-3-3在工作簿中创建图表时提示 156
范例6-3-4快速输入默认值 156
第七章 单元格应用 158
第一节 Range对象的属性操作 161
范例7-1-1设置单元格对齐方式 161
范例7-1-2自动向下行添加当前日期 162
范例7-1-3为所选单元格设置行高和列宽 164
范例7-1-4当选择范围发生改变时返回高度和宽度 165
范例7-1-5选区发生变化时提示行数、列数和单元格数 166
范例7-1-6突出显示特定内容 166
范例7-1-7查看隐藏的行 168
范例7-1-8设置单元格数字格式 168
第二节 Range对象的方法操作 169
范例7-2-1当工作表被激活时自动填充数据 169
范例7-2-2根据内容自动调整行高、列宽 171
范例7-2-3查看数据清单中符合特定条件的记录 172
范例7-2-4为单元格设置边框 173
范例7-2-5保存前清空临时工作表 174
范例7-2-6清空工作表中的超链接 175
范例7-2-7复制单元格数据 176
范例7-2-8删除单元格 178
范例7-2-9向区域内填充相同数据 179
范例7-2-10查找并修改特定记录的数据 180
范例7-2-11删除数据清单中的重复行 182
范例7-2-12创建分类汇总 183
范例7-2-13对选区数据排序 185
范例7-2-14跨行合并单元格 186
范例7-2-15 替换单元格中的数据 188
第八章 图表应用 190
第一节 图表基本操作 192
范例8-1-1创建图表 192
范例8-1-2设置图表区格式 194
范例8-1-3修改图表类型 195
范例8-1-4图表没有模拟运算表时添加模拟运算表 196
范例8-1-5图表中无坐标轴时显示坐标轴 198
范例8-1-6显示图表标题并设置 199
范例8-1-7检查和显示图例 202
范例8-1-8显示和隐藏图表 204
范例8-1-9显示各图表的名称 205
范例8-1-10重新设置图表的数据源区域 205
范例8-1-11复制和粘贴图表 207
范例8-1-12激活并删除图表 207
范例8-1-13在原位置复制图表 208
范例8-1-14图表被激活时提示 209
范例8-1-15 提示选择的元素 210
第二节 迷你图应用 212
范例8-2-1创建迷你图 212
范例8-2-2更改迷你图的数据源区域 213
范例8-2-3更改迷你图的位置 215
范例8-2-4同时改变迷你图的数据源和位置 216
范例8-2-5删除迷你图(组) 217
范例8-2-6更改迷你图的类型 218
范例8-2-7设置折线亮度 220
范例8-2-8突出显示折线图中的标记点 221
第九章 图形应用 223
第一节 图形的属性操作 224
范例9-1-1替换自选图形的类型 224
范例9-1-2为图形设置填充颜色 226
范例9-1-3设置图形边框颜色 227
范例9-1-4 为图形指定宏 229
范例9-1-5使用内置样式格式化图形 230
范例9-1-6统计工作表中的图形数量 232
范例9-1-7设置图形中的文本 233
范例9-1-8设置部分图形的格式 235
第二节 图形对象的方法操作 237
范例9-2-1在工作表中创建图形 237
范例9-2-2在工作表中创建文本框 238
范例9-2-3在工作表中创建艺术字 240
范例9-2-4删除工作表中的单个图形 241
范例9-2-5删除工作表中的多个图形 242
第十章 超链接与批注 243
第一节 超链接操作 245
范例10-1-1创建超链接 245
范例10-1-2统计超链接的数量 246
范例10-1-3清除全部超链接 247
范例10-1-4显示工作表中超链接指向的地址 248
第二节 批注操作 250
范例10-2-1统计并显示工作表中的批注数量 250
范例10-2-2显示工作表中所有批注的作者 250
范例10-2-3隐藏奇数批注 251
范例10-2-4改变批注的形状并设置格式 252
范例10-2-5插入批注并设置文本 253
第十一章 筛选和排序 255
第一节 自动筛选 257
范例11-1-1在指定区域建立自动筛选 257
范例11-1-2检查自动筛选是否开启 259
范例11-1-3筛选同时满足多个条件的数据 260
范例11-1-4筛选满足多个条件中任一条件的数据 261
范例11-1-5显示高于平均值的记录 262
范例11-1-6筛选曾作过颜色标记的记录 263
范例11-1-7筛选姓名为两个汉字并且姓“王”学员的记录 264
范例11-1-8筛选不姓“王”且姓名为两个汉字学员的记录 265
范例11-1-9清除筛选条件 266
第二节 高级筛选 267
范例11-2-1在其他位置显示某工作单位学员记录 267
范例11-2-2筛选“李”姓三字姓名的学员记录 269
范例11-2-3筛选姓“李”或姓“吴”的学员记录 270
第三节 排序 271
范例11-3-1根据数值大小排序 271
范例11-3-2按字母顺序排列姓名 273
范例11-3-3 排序时区分大小写 274
范例11-3-4数据清单中部分排序 275
范例11-3-5按行排序 277
范例11-3-6将默认颜色排到最前面 278
范例11-3-7 对多个字段进行排序 279
第十二章 条件格式 282
第一节 条件格式对象的方法操作 284
范例12-1-1突出显示较大值 284
范例12-1-2突出显示总分在200~240之间的数据 286
范例12-1-3突出显示姓名中包括“王”的数据 287
范例12-1-4突出显示总分前10名的数据 288
范例12-1-5突出显示总分高于平均值的数据 289
范例12-1-6将总分显示为数据条 290
范例12-1-7使用色阶显示总分数据 292
范例12-1-8使用图标集显示总分数据 293
范例12-1-9清除条件格式 294
范例12-1-10加粗显示总分在260分以上的姓名 295
范例12-1-11填充总分在265分以上记录所在的行为灰色 296
范例12-1-12提升第二个条件格式的优先级 297
第二节 条件格式对象的属性操作 299
范例12-2-1显示工作表中的条件格式数量 299
范例12-2-2将单科成绩在95分以上的成绩加网格 300
范例12-2-3将单科成绩95分以上的成绩加图案 302
范例12-2-4给重复值加上虚框 303
范例12-2-5更改条件格式的应用范围 304
范例12-2-6修改条件格式中符合条件的填充颜色 305
第十三章 外部数据与数据工具 307
第一节 外部数据操作 309
范例13-1-1从其他Excel工作簿中获取数据(1) 309
范例13-1-2统计并提示查询表的数量 311
范例13-1-3获取文本文件的数据 312
范例13-1-4获取网络上的数据 314
范例13-1-5从网页上导入指定表格内容 315
范例13-1-6从其他Excel工作簿中获取数据(2) 317
范例13-1-7删除分析表与数据源的连接 320
第二节 数据工具操作 322
范例13-2-1将一列的数据分为两列 322
范例13-2-2删除重复行 324
范例13-2-3为选定区域创建下拉列表 325
范例13-2-4控制输入字符长度 328
范例13-2-5对字符长度有两种要求 329
范例13-2-6圈释无效成绩 331
范例13-2-7清除无效成绩标识圈 333
第三部分 界面设计 334
第十四章 窗体控件 334
第一节 窗体控件基本操作 335
范例14-1-1创建窗体 335
范例14-1-2设置窗体属性 336
范例14-1-3向窗体中添加控件 337
范例14-1-4设置组合框属性 339
范例14-1-5为文本框设置密码隐藏显示 340
范例14-1-6设置按钮控件属性 341
范例14-1-7向工具箱中添加控件 342
范例14-1-8显示窗体 343
第二节 窗体事件程序设计 345
范例14-2-1窗体初始化时隐藏数据工作表 345
范例14-2-2当密码输入文本框内存在内容时“确定”按钮方可操作 346
范例14-2-3单击“取消”按钮关闭窗体 347
范例14-2-4单击“确定”按钮检测用户密码 348
范例14-2-5打开工作簿时自动显示窗体 350
范例14-2-6创建数据输入窗体 351
范例14-2-7禁用窗体的?按钮 354
范例14-2-8计算滞纳金 356
第四部分 高级应用 358
第十五章 数据库操作 358
第一节 使用DAO对象操作数据库 359
范例15-1-1利用DAO创建与数据库的连接 359
范例15-1-2 查询字段信息 360
范例15-1-3创建数据库 361
范例15-1-4向数据库中添加表 362
范例15-1-5向数据库中添加数据信息 363
范例15-1-6修改数据库 365
范例15-1-7删除数据库中的数据 367
第二节 使用ADO对象操作数据库 371
范例15-2-1连接数据库 371
范例15-2-2向数据库中添加数据 372
范例15-2-3把数据库导入到Excel中 373
范例15-2-4快速获取ADO连接字符串 375
第十六章 文件系统操作 378
第一节 使用命令操作文件 379
范例16-1-1重命名文件 379
范例16-1-2在不打开工作簿的情况下,在不同的工作簿之间复制数据 381
范例16-1-3 删除当前文件夹下大小为0的文件 383
范例16-1-4向文本文件中写入数据 386
范例16-1-5向文本文件中写入当前日期 388
范例16-1-6关闭所有打开的文件 389
范例16-1-7利用文本文件中的数据验证密码 390
第二节 使用VBA对象操作文件 393
范例16-2-1显示文件所在的磁盘 394
范例16-2-2显示磁盘信息 394
范例16-2-3创建磁盘文件 395
范例16-2-4判断文件是否存在 396
范例16-2-5向文本文件中添加信息 396
第十七章 其他应用 398
第一节 API函数应用 399
范例17-1-1获取屏幕高度和宽度 399
第二节 Office组件协作 402
范例17-2-1新建Word文档 402
范例17-2-2打开Word文档 403