Excel VBA编程实战宝典
上QQ阅读APP看书,第一时间看更新

案例目录

第2章 掌握VBA编程语言

案例2-1 只使用一个参数的MsgBox函数

案例2-2 使用两个参数的MsgBox函数

案例2-3 在MsgBox函数中使用命名参数

案例2-4 改变MsgBox对话框中的默认按钮和图标

案例2-5 判断用户单击的MsgBox对话框中的按钮

案例2-6 在对话框中将信息分多行显示

案例2-7 使用InputBox函数接收用户的输入

案例2-8 使用过程级变量

案例2-9 使用模块级变量

案例2-10 使用+运算符

案例2-11 调用过程

案例2-12 调用包含参数的过程

案例2-13 使用Application.Run方法调用过程

案例2-14 调用位于不同模块中的过程

案例2-15 在欢迎信息中显示指定的用户名

案例2-16 参数的传址与传值

案例2-17 验证用户登录

案例2-18 创建与使用Function过程

案例2-19 在程序中使用函数的返回值

案例2-20 If条件成立时执行单条语句

案例2-21 If条件成立时执行多条语句

案例2-22 同时处理If条件成立与不成立两种情况并执行单条语句

案例2-23 同时处理If条件成立与不成立两种情况并执行多条语句

案例2-24 多个If Then Else结构嵌套

案例2-25 使用If Then ElseIf处理多个条件

案例2-26 使用逻辑运算符实现多条件判断

案例2-27 使用Select Case结构处理多个条件

案例2-28 验证Excel程序版本号

案例2-29 计算折扣率

案例2-30 查询商品定价

案例2-31 计算1到100之间的所有整数之和

案例2-32 计算1到100之间的所有偶数之和

案例2-33 计算指定范围内的所有整数之和

案例2-34 达到指定值时结束累加

案例2-35 使用Do While结构

案例2-36 使用Exit Do退出循环

案例2-37 使用Do Until结构

案例2-38 计算数组包含的元素总数

案例2-39 检查二维数组每一维的上下界

案例2-40 利用循环结构批量为数组赋值

案例2-41 操作Array函数创建的数组

案例2-42 创建动态数组

案例2-43 重新定义动态数组时保留原有数据

案例2-44 捕获并处理运行时错误

案例2-45 使用Err对象的Number属性判断是否出现运行时错误

案例2-46 在错误处理中使用On Error Resume Next语句

第3章 对象编程基础

案例3-1 设置工作表的名称

案例3-2 在程序中使用由方法返回的对象

案例3-3 使用对象变量引用特定的对象

案例3-4 使用With结构简化对象的引用

案例3-5 使用For Each结构遍历集合中的对象

第4章 使用Application对象处理Excel程序

案例4-1 在选区中输入内容

案例4-2 根据Excel版本显示不同信息

案例4-3 设置Excel窗口全屏显示

案例4-4 将所有Excel窗口最大化

案例4-5 设置Excel窗口的尺寸

案例4-6 设置Excel窗口在屏幕中的位置

案例4-7 自定义状态栏中显示的信息

案例4-8 控制警告信息的显示方式

案例4-9 设置打开文件的默认位置

案例4-10 在指定时间定时执行任务

案例4-11 隔多长时间后定时执行任务

案例4-12 定时重复执行任务

案例4-13 取消定时任务

案例4-14 使用快捷键加快过程的运行速度

案例4-15 使用SendKeys方法发送按键信息

案例4-16 使用SendKeys方法向对话框发送按键信息

案例4-17 在Evaluate方法中使用变量

案例4-18 在VBA中使用工作表函数

第5章 使用Workbook对象处理工作簿

案例5-1 使用ActiveWorkbook引用新建的工作簿

案例5-2 使用对象变量引用新建的工作簿

案例5-3 使用ForNext新建多个工作簿

案例5-4 使用Do Loop新建多个工作簿

案例5-5 判断工作簿是否存在

案例5-6 一次性打开指定的多个工作簿

案例5-7 显示所有打开的工作簿的名称列表

案例5-8 关闭当前工作簿以外的其他工作簿

案例5-9 关闭指定工作簿的多余窗口

案例5-10 设置工作簿的打开密码

案例5-11 清除打开的所有工作簿中的密码

第6章 使用Worksheet对象处理工作表

案例6-1 使用TypeName函数检查工作表的类型

案例6-2 根据工作簿结构的保护状态执行不同操作

案例6-3 根据工作表的保护状态执行不同操作

案例6-4 使用对象变量引用新建的工作表

案例6-5 使用Replace参数选择多个工作表

案例6-6 使用Array函数选择多个工作表

案例6-7 批量重命名工作表

案例6-8 对指定表以外的表进行批量重命名

案例6-9 引用移动后的工作表

案例6-10 在工作表之后新建图表工作表

案例6-11 将工作表移动到其他工作簿中

案例6-12 隐藏除指定表以外的其他工作表

案例6-13 批量删除工作表

案例6-14 将工作簿中的每一个工作表保存为独立的文件

第7章 使用Range对象处理单元格区域

案例7-1 在Range属性中使用变量

案例7-2 在循环结构中处理Cells属性

案例7-3 使用Areas属性处理多个区域

案例7-4 使用Intersect方法引用多个区域的重叠部分

案例7-5 检查活动单元格是否在指定区域内

案例7-6 确定已使用区域的最后一行和最后一列

案例7-7 删除工作表中的所有空行

案例7-8 选择工作表中的所有合并单元格

案例7-9 标记销量未达标的员工姓名

案例7-10 标记销量未达标的员工记录

案例7-11 删除销售数据中的日期

案例7-12 查找特定商品所在的单元格地址

案例7-13 确定包含数据的区域的最后一个单元格

案例7-14 使用行号和列号遍历区域中的每个单元格

案例7-15 使用一个索引号遍历区域中的每个单元格

案例7-16 使用For Each循环结构遍历区域中的每个单元格

案例7-17 使用数组读写单元格区域中的数据

案例7-18 将数据的计算结果放置在指定区域中

案例7-19 使用名称将新增数据添加到数据区域的底部

案例7-20 使用名称代替实际值

案例7-21 使用名称代替公式

案例7-22 对销售数据按销量从高到低进行排序

案例7-23 筛选指定商品的销量情况

案例7-24 显式指定列中的第一个筛选条件

案例7-25 对数据进行高级筛选

第8章 使用Shape对象处理图形对象

案例8-1 列出所有图形对象的索引号和名称

案例8-2 创建检测图形对象类型的自定义函数

案例8-3 显示图形对象的位置信息

案例8-4 以厘米为单位指定矩形的尺寸

案例8-5 插入以厘米为单位指定尺寸的图片

案例8-6 插入图片时与指定的单元格区域对齐

案例8-7 隔行批量插入多个图片

案例8-8 选择活动工作表中的所有图片

案例8-9 使用For Each循环结构删除所有图形对象

案例8-10 使用SelectAll方法删除所有图形对象

案例8-11 删除活动工作表中的所有自选图形

案例8-12 为自选图形设置纯色填充

案例8-13 为自选图形设置双色渐变填充

案例8-14 为自选图形设置图片填充

案例8-15 设置自选图形的边框格式

第9章 使用Chart和ChartObject对象处理图表

案例9-1 使用AddChart方法创建嵌入式图表

案例9-2 使用SetSourceData方法为图表设置数据源

案例9-3 使用AddChart2方法创建嵌入式图表

案例9-4 使用Charts集合的Add方法创建图表工作表

案例9-5 将嵌入式图表转换为图表工作表

案例9-6 将图表工作表转换为嵌入式图表

案例9-7 将所有嵌入式图表批量转换为图表工作表

案例9-8 为图表设置Excel预置的图表布局

案例9-9 将图例移动到图表标题下方

案例9-10 使用Excel预置的图表样式格式化图表

案例9-11 将绘图区的背景设置为灰色

案例9-12 将图片设置为绘图区的背景

案例9-13 设置绘图区的边框

案例9-14 使用不连续的数据区域创建图表

案例9-15 使用Series对象删除图表中的多个数据系列

案例9-16 删除编号无规律的多个数据系列

案例9-17 自定义图表的数据标签

案例9-18 将所有嵌入式图表设置为相同大小

案例9-19 将所有嵌入式图表的大小设置为与活动图表等大

案例9-20 删除工作簿中的所有嵌入式图表

案例9-21 将活动的嵌入式图表转换为图片

案例9-22 将所有嵌入式图表批量保存为图片

第10章 使用PivotTable对象处理数据透视表

案例10-1 创建数据透视表缓存和数据透视表

案例10-2 对数据透视表中的字段进行布局

案例10-3 更改数据透视表中的字段布局

案例10-4 重命名字段

案例10-5 设置数据透视表的报表布局

案例10-6 不显示数据透视表中的行总计和列总计

案例10-7 使用货币格式显示销售额

案例10-8 将销售额的汇总方式设置为求最大值

案例10-9 设置数据的计算方式

第11章 使用类模块创建新的对象

案例11-1 创建基本的类并为其命名

案例11-2 使用Public关键字为类创建简单的可读写属性

案例11-3 使用Property过程创建类的属性

案例11-4 创建一个计算员工薪水的类

第12章 使用事件编写自动交互的程序

案例12-1 使用包含参数的事件过程

案例12-2 使用事件过程中的Cancel参数

案例12-3 不同对象的同一个事件的触发顺序

案例12-4 使用工作簿的Open事件显示欢迎信息

案例12-5 使用工作簿的Open事件设置用户的操作权限

案例12-6 使用工作簿的Activate事件设置工作簿的界面显示环境

案例12-7 使用工作簿的Deactivate事件

案例12-8 使用BeforeClose事件过程控制工作簿的关闭方式

案例12-9 禁止另存工作簿

案例12-10 禁止保存工作簿

案例12-11 禁止保存和另存工作簿

案例12-12 打印前检查数据区域的标题是否填写完整

案例12-13 显示激活的工作表中的数据区域的地址

案例12-14 显示失去焦点的工作表的名称

案例12-15 新建工作表时显示工作簿中的工作表总数

案例12-16 为新建的工作表自动命名

案例12-17 显示编辑的单元格的地址及其工作表名称

案例12-18 自动为选区所在的整行和整列设置背景色

案例12-19 右击单元格时显示自定义快捷菜单

案例12-20 双击单元格时自动删除单元格中的内容和格式

案例12-21 在指定工作表的状态栏中显示选区地址

案例12-22 在指定区域内右击时显示自定义快捷菜单

案例12-23 通过双击控制图表元素的显示状态

案例12-24 捕获并使用应用程序事件

案例12-25 关闭任意一个工作簿时删除其中的空工作表

案例12-26 捕获并使用嵌入式图表事件

第13章 使用Excel对话框

案例13-1 检查是否单击了“取消”按钮

案例13-2 计算非空单元格的数量

案例13-3 显示用于打开文件的对话框

案例13-4 在打开文件的对话框中选择多个文件

案例13-5 显示用于保存文件的对话框

案例13-6 设置对话框中的文件筛选器

案例13-7 将所选文件的路径和名称添加到单元格区域中

案例13-8 在Excel中打开所选择的文件

第14章 创建用户窗体和控件

案例14-1 处理Controls集合中特定类型的控件

案例14-2 使用变量引用用户窗体

案例14-3 向UserForms集合中批量添加用户窗体

案例14-4 从UserForms集合中引用用户窗体

案例14-5 为同一个用户窗体设置3种不同的标题

案例14-6 让用户窗体响应用户的操作

案例14-7 禁用用户窗体右上角的关闭按钮

案例14-8 让控件响应用户的操作

案例14-9 让多个按钮共享同一个事件过程

案例14-10 为用户窗体指定默认的确定按钮和取消按钮

案例14-11 单击按钮时自动修改其上显示的标题

案例14-12 创建密码文本框并限制可输入的字符数

案例14-13 创建显示多行文本的文本框

案例14-14 将文本框中的内容添加到工作表中

案例14-15 验证在文本框中输入的每一个字符

案例14-16 使用数值调节钮设置文本框中的值

案例14-17 使用滚动条放大字体的显示比例

案例14-18 使用选项按钮实现单项选择功能

案例14-19 使用多组选项按钮实现多组选项设置功能

案例14-20 使用GroupName属性代替框架控件将选项按钮分组

案例14-21 使用复选框实现多项选择功能

案例14-22 使用RowSource属性将活动工作表中的单列数据添加到列表框中

案例14-23 使用RowSource属性将特定工作表中的单列数据添加到列表框中

案例14-24 使用RowSource属性将工作表中的多列数据添加到列表框中

案例14-25 使用AddItem方法将无规律的项目逐一添加到列表框中

案例14-26 使用AddItem方法将连续的数字编号批量添加到列表框中

案例14-27 使用AddItem方法将单元格区域中的数据批量添加到列表框中

案例14-28 使用List属性将多个项目一次性添加到列表框中

案例14-29 使用List属性将工作表中的一列数据添加到列表框中

案例14-30 将单元格区域中的不重复数据添加到列表框中

案例14-31 在列表框中动态添加单元格区域中的所有数据

案例14-32 将在文本框中输入的内容添加到列表框中

案例14-33 将列表框中选中的项目显示在文本框中

案例14-34 对列表框中选中的项目进行修改

案例14-35 创建可选择多个项目的列表框

案例14-36 在两个列表框之间移动和删除项目

案例14-37 在两个列表框之间移动和删除不重复的项目

案例14-38 在列表框中移动项目的位置

案例14-39 将列表框中选中的项目写入工作表

案例14-40 将列表框中的所有项目写入由用户指定的单元格区域

案例14-41 将列表框中选中的所有项目写入由用户指定的单元格区域

案例14-42 使用AddItem方法将无规律的项目逐一添加到组合框中

案例14-43 使用RowSource属性将工作表中的数据添加到组合框中

案例14-44 使用List属性将工作表中的一列数据添加到组合框中

案例14-45 将单元格区域中的不重复数据添加到组合框中

案例14-46 在组合框中动态添加单元格区域中的所有数据

案例14-47 在图像控件显示指定的图片

案例14-48 由用户灵活指定显示在图像控件中的图片

案例14-49 在图像控件中随机显示不同的图片

案例14-50 创建应用程序欢迎界面

案例14-51 创建用户登录窗口

案例14-52 创建带有预览效果的颜色选择器

案例14-53 创建可显示隐藏选项的对话框

第15章 定制Excel界面环境

案例15-1 获取Excel内置的所有命令栏

案例15-2 获取Excel中的所有内置控件的FaceId和图像

案例15-3 获取Excel中的所有菜单栏及其包含的控件

案例15-4 获取工作表菜单栏中第一个菜单包含的命令的相关信息

案例15-5 获取工作表菜单栏中所有菜单包含的命令的相关信息

案例15-6 在内置菜单栏中创建新的菜单

案例15-7 将菜单添加到内置菜单栏中的指定位置

案例15-8 在内置菜单中添加菜单项

案例15-9 在自定义菜单中添加菜单项

案例15-10 在自定义菜单中添加子菜单及其菜单项

案例15-11 为菜单中的菜单项分组

案例15-12 共享同一个VBA过程但实现不同功能的菜单项

案例15-13 只在包含自定义控件时重置菜单栏

案例15-14 定制菜单和菜单项时的防错设置

案例15-15 使用事件过程自动添加和删除菜单和菜单项

案例15-16 创建包含两个菜单的菜单栏

案例15-17 获取Excel中的所有工具栏及其包含的控件

案例15-18 创建包含3个按钮的工具栏

案例15-19 让工具栏中的控件以图像显示

案例15-20 创建包含下拉列表的工具栏

案例15-21 在内置工具栏中添加自定义控件

案例15-22 删除特定工具栏中的所有自定义控件

案例15-23 删除所有工具栏中的所有自定义控件

案例15-24 定制工具栏时的防错设置

案例15-25 获取Excel中的所有快捷菜单的相关信息

案例15-26 获取Excel中的所有快捷菜单及其包含的控件

案例15-27 在内置快捷菜单中添加菜单项

案例15-28 在内置快捷菜单中添加“转换大小写”子菜单及其菜单项

案例15-29 禁用Excel中的所有快捷菜单

案例15-30 禁用所有包含自定义菜单项的快捷菜单

案例15-31 删除特定快捷菜单中的所有自定义菜单项

案例15-32 定制快捷菜单和菜单项时的防错设置

案例15-33 创建自定义快捷菜单

案例15-34 使用ExecuteMso方法执行功能区中的控件

案例15-35 使用GetImageMso方法获取控件的图像

案例15-36 自定义功能区

第16章 开发用户自定义函数

案例16-1 创建返回单元格所在工作表的名称的函数

案例16-2 创建可自动更新的函数

案例16-3 创建计算数字平方根的函数

案例16-4 创建进行四则运算的函数

案例16-5 创建包含指定默认值的可选参数的函数

案例16-6 创建包含未指定默认值的可选参数的函数

案例16-7 创建计算不定数量的参数总和的函数

案例16-8 使用Array函数创建返回数组的函数

案例16-9 通过循环结构为数组赋值来创建返回数组的函数

案例16-10 创建可检查错误并返回错误值的函数

案例16-11 为用户自定义函数分类并添加帮助信息

案例16-12 创建从文本左侧提取连续数字的函数

案例16-13 创建将数字中的每一位输入到连续多个单元格中的函数

案例16-14 创建返回区域中第一个非空单元格地址的函数

案例16-15 创建返回区域中最后一个非空单元格地址的函数

案例16-16 创建返回包含特定内容的所有单元格地址的函数

案例16-17 创建统计区域中不重复值数量的函数

案例16-18 创建逆序排列单元格中内容的函数

案例16-19 创建按单元格背景色对单元格中的数据求和的函数

案例16-20 创建执行多种类型计算的函数

案例16-21 创建返回所有工作表指定区域中最大值的函数

案例16-22 创建判断文件是否存在的函数

案例16-23 创建判断工作簿是否已打开的函数

案例16-24 创建判断工作表是否存在的函数

案例16-25 创建判断名称是否存在的函数

案例16-26 创建从文件的完整路径中提取文件名的函数

第17章 处理文件

案例17-1 获取驱动器的属性信息

案例17-2 获取文件夹的属性信息

案例17-3 获取文件的属性信息

案例17-4 获取文件夹中的所有子文件夹的数量和名称

案例17-5 获取文件夹中的所有文件的文件名和文件类型

案例17-6 使用CopyFile方法复制文件

案例17-7 使用CopyFile方法复制文件

案例17-8 使用FileCopy语句复制文件

案例17-9 使用FileCopy语句复制并重命名文件

案例17-10 使用MoveFile方法移动文件

案例17-11 使用File对象的Name属性重命名文件

案例17-12 使用Name语句重命名文件

案例17-13 使用Name语句重命名并移动文件

案例17-14 使用DeleteFile方法删除文件

案例17-15 使用Kill语句删除文件

案例17-16 使用CreateFolder方法创建文件夹

案例17-17 使用MkDir语句创建文件夹

案例17-18 使用Open语句打开文本文件

案例17-19 使用Write语句向文本文件中写入数据

案例17-20 使用Print语句自定义数据项的格式以及分隔符

案例17-21 使用Input语句从文本文件中读取数据

案例17-22 使用Line Input语句从文本文件中读取数据

案例17-23 打开文本文件并显示其中的所有内容

案例17-24 使用WriteLine方法将数据写入文本文件

案例17-25 使用ReadLine方法读取文本文件中的数据

第18章 与其他Office应用程序交互

案例18-1 使用前期绑定创建对Word对象引用

案例18-2 使用后期绑定创建对Word对象的引用

案例18-3 在Excel中控制Word打开一个文档

案例18-4 显示已启动的Word的版本号

案例18-5 引用现有的Word或启动新的Word

案例18-6 将Excel中的数据写入Word文档

案例18-7 在Excel中启动指定的应用程序

第19章 使用ADO访问数据

案例19-1 使用SELECT语句检索表中的所有记录

案例19-2 使用SELECT语句检索表中包含特定字段的所有记录

案例19-3 使用SELECT语句检索表中满足单一条件的所有记录

案例19-4 使用SELECT语句检索表中满足单一条件中的一系列特定值的所有记录

案例19-5 使用SELECT语句检索表中满足多个条件之一的所有记录

案例19-6 使用SELECT语句检索表中同时满足多个条件的所有记录

案例19-7 使用SELECT语句检索表中包含特定字段的所有记录并进行排序

案例19-8 使用INSERT语句向表中添加新的记录

案例19-9 使用INSERT语句向表中添加不完整的新记录

案例19-10 使用UPDATE语句修改表中特定记录的数据

案例19-11 使用DELETE语句删除表中的特定记录

案例19-12 建立数据源的连接

案例19-13 使用Connection对象从数据源中检索数据

案例19-14 使用Recordset对象从数据源中检索数据

案例19-15 完成从数据源中检索数据的任务后关闭数据源的连接

第20章 操作注册表

案例20-1 使用SaveSetting语句将指定内容写入注册表

案例20-2 使用GetSetting函数读取注册表中的内容

案例20-3 为工作簿中的所有工作表应用相同的网格线设置

案例20-4 使用GetAllSettings函数一次性读取注册表中的所有内容

案例20-5 使用DeleteSetting语句删除注册表中的特定键值

案例20-6 使用DeleteSetting语句删除注册表中的特定子键及其中包含的所有内容

第21章 操作VBE

案例21-1 检查是否已启用对VBE对象模型的访问权限

案例21-2 创建对VBE对象的引用

案例21-3 引用特定的VBA工程

案例21-4 引用VBA工程中的特定模块

案例21-5 获取VBA工程中包含的所有模块的名称和类型

案例21-6 使用代码名称引用ThisWorkbook模块

案例21-7 使用代码名称引用特定的Sheet模块

案例21-8 使用Name属性引用当前选中的模块

案例21-9 获取VBA工程中的特定模块中包含的所有过程的名称

案例21-10 获取VBA工程中包含的所有模块中的代码的总行数

案例21-11 获取在VBA工程中引用的所有类型库的相关信息

案例21-12 使用VBA自动在VBA工程中添加新的模块

案例21-13 使用VBA自动删除VBA工程中的所有模块

案例21-14 使用VBA自动删除VBA工程中的所有模块及其中包含的代码

案例21-15 使用VBA自动创建普通的VBA过程并编写代码

案例21-16 使用VBA自动创建工作簿事件过程并编写代码

案例21-17 使用VBA在运行时自动在用户窗体中创建控件

案例21-18 使用VBA在设计时自动在用户窗体中创建控件

案例21-19 全自动创建用户窗体、控件及其VBA代码

第22章 创建和使用加载项

案例22-1 设置加载项的标题和描述信息

案例22-2 保护加载项的安全

案例22-3 从工作簿创建加载项

案例22-4 获取Excel中的所有加载项的相关信息

案例22-5 将用户选择的一个或多个加载项添加到Excel中

案例22-6 自动安装加载项

案例22-7 在安装加载项时显示提示信息

案例22-8 在卸载加载项时显示提示信息

第23章 开发Excel实用程序

案例23-1 开发按行批量合并单元格插件

案例23-2 开发人事管理系统