第四章VBA编程 今序言 ÷4,1宏 4.2控件与用户窗体 4.3对象、属性、方法和事件 ÷44VBA语法基础 45过程 4.6流程控制语句 4,7VBA应用程序的优化 4.8信息及代码的保护 ÷4.9应用举例 章目录节目录
第四章 VBA编程 ❖ 序言 ❖ 4.1 宏 ❖ 4.2 控件与用户窗体 ❖ 4.3 对象、属性、方法和事件 ❖ 4.4 VBA语法基础 ❖ 4.5 过程 ❖ 4.6 流程控制语句 ❖ 4.7 VBA应用程序的优化 ❖ 4.8 信息及代码的保护 ❖ 4.9 应用举例 章目录 节目录
序言 冷VBA(Ⅵsua| Basic for Applications)是 Microsoft Office系 列的内置编程语言是非常流行的应里程序开发语 生于”Ofe应用程序 是 Office XP套装软件的一个十分重要的组件。它功能强大, 面向对象(OOP),非常适合入门级学习。利用它可以实现 繁琐、机械的日常工作的自动化,从而极大提高用户的办公 效率 VBA和VB的主要区别是: 1.VB用于创建标准的应用程序,VBA是使已有的应用程 序( Office)自动化 2.VB具有自己的开发环境,VBA寄生于已有的应用程序 (Office) 3.VB开发出的应用程序可以是可执行文件(EXE),VBA 开发的程序必须依赖于它的“父”应用程序 Office)。 章目录节目录
序言 ❖ VBA(Visual Basic for Applications)是Microsoft Office 系 列的内置编程语言,是非常流行的应用程序开发语言 VB(Visual Basic) 的子集。它“寄生于”Office应用程序, 是Office XP套装软件的一个十分重要的组件。它功能强大, 面向对象(OOP),非常适合入门级学习。利用它可以实现 繁琐、机械的日常工作的自动化,从而极大提高用户的办公 效率。 ❖ VBA和VB的主要区别是: 1. VB用于创建标准的应用程序,VBA是使已有的应用程 序(Office)自动化。 2. VB具有自己的开发环境,VBA寄生于已有的应用程序 (Office)。 3. VB开发出的应用程序可以是可执行文件(*.EXE),VBA 开发的程序必须依赖于它的“父”应用程序(Office)。 章目录 节目录
用VBA可以实现如下一些功能: 1.使重复的任务自动化 2.自定义工具栏、菜单和界面 3.简化模板的使用。 4.自定义 Office,使其成为开发平台。 5.创建报表。 6.对数据进行复杂的操作和分析。 用Ofie作为开发平台的主要优点: 1. Office本身功能强大,包括打印、文件处理、格式化和 文本编辑等。 2. Office应用软件及其VBA内置大量函数、语句、方法等, 功能非常丰富。 3. Office界面熟悉,便于软件推广应用。 4.便于发布。只需要发布含有VBA代码的文档,无需考 虑运行环境,因为Ofce是普遍配备的应用软件。 5.利用宏可以实现部分程序设计自动化,大大提高软件 开发效率。 章目录节目录
❖ 用VBA可以实现如下一些功能: 1. 使重复的任务自动化。 2. 自定义工具栏、菜单和界面。 3. 简化模板的使用。 4. 自定义Office,使其成为开发平台。 5. 创建报表。 6. 对数据进行复杂的操作和分析。 ❖ 用Office作为开发平台的主要优点: 1. Office本身功能强大,包括打印、文件处理、格式化和 文本编辑等。 2. Office应用软件及其VBA内置大量函数、语句、方法等, 功能非常丰富。 3. Office界面熟悉,便于软件推广应用。 4.便于发布。只需要发布含有VBA代码的文档,无需考 虑运行环境,因为Office是普遍配备的应用软件。 5.利用宏可以实现部分程序设计自动化,大大提高软件 开发效率。 章目录 节目录
4.1宏 令宏( Macro)是一组VBA语句。可以理解为一个程序段,或 个子程序。在 Office XP中,宏可以直接编写,也可以通过 录制形成。录制宏,实际上就是将一系列操作过程记录下来 并由系统自动转换为VBA语句。这是目前最简单的编程方法, 也是VBA最有特色的地方。 4.1.1宏的录制与执行 4,1.2宏的编辑 413为宏指定快捷键 4.1.4指定宏保存的位置 4.1.5将宏指定给按钮 4.1.6将宏指定给图片或工具栏按钮 章目录节目录
4.1 宏 ❖ 宏(Macro)是一组VBA语句。可以理解为一个程序段,或 一个子程序。在Office XP中,宏可以直接编写,也可以通过 录制形成。录制宏,实际上就是将一系列操作过程记录下来 并由系统自动转换为VBA语句。这是目前最简单的编程方法, 也是VBA最有特色的地方。 ❖ 4.1.1 宏的录制与执行 ❖ 4.1.2 宏的编辑 ❖ 4.1.3 为宏指定快捷键 ❖ 4.1.4 指定宏保存的位置 ❖ 4.1.5 将宏指定给按钮 ❖ 4.1.6 将宏指定给图片或工具栏按钮 章目录 节目录
41.1宏的录制与执行 下面录制一个非常简单的宏,它的功能是将当前选中的单元格背景 置成蓝色。如下步骤 ①进入 Excel ②在“工具宏”菜单中选“录制新宏”项。 ③在“录制新宏对话框归输入索务“填颜频色”,单击“确定”按 ④在“格式”工具栏中单击“填充颜色”按钮右边的三角标志,选择 蓝色。 ⑨单声“貸咕灵劁”正是栏撩’结束宏录剝过程a书可以选掙工 具宏停 4.1.2宏的编辑 对已经存在的宏,我们可以査看代码,也可以进行编辑修改。 选择“工具宏宏”菜单,在“宏”对话框中选择列表中的“填充颜 色”,单击“编辑”按钮。可以在vBA的编辑器窗口修改宏。 编辑宏同样非常简单。同时我们知道,通过编辑宏可以删除多余的语 6边龍高运行速度,也可以加入判断或循坏等无法录制的语句,增加宏 许多过程可以用录制宏来完成。但录制的宏无判断或循环能力,人机 交嘉能力星即用户无法娃行个,让算无法金出提交无法显示对 显示自 此,需 进行纩 章目录节目录区
❖ 4.1.1 宏的录制与执行 下面录制一个非常简单的宏,它的功能是将当前选中的单元格背景 置成蓝色。如下步骤: ①进入Excel。 ②在“工具|宏”菜单中选“录制新宏”项。 ③在“录制新宏”对话框中输入宏名“填充颜色”,单击“确定”按 钮。此时,屏幕上显示出“停止录制”工具栏。 ④在“格式”工具栏中单击“填充颜色”按钮右边的三角标志,选择 蓝色。 ⑤单击“停止录制”工具栏按钮,结束宏录制过程。也可以选择“工 具|宏|停止录制”菜单结束宏录制。录制完一个宏后就可以执行它了。 ❖ 4.1.2 宏的编辑 对已经存在的宏,我们可以查看代码,也可以进行编辑修改。 选择“工具|宏|宏”菜单,在“宏”对话框中选择列表中的“填充颜 色”,单击“编辑”按钮。可以在VBA的编辑器窗口修改宏。 编辑宏同样非常简单。同时我们知道,通过编辑宏可以删除多余的语 句,提高运行速度,也可以加入判断或循环等无法录制的语句,增加宏 的功能。 许多过程可以用录制宏来完成。但录制的宏无判断或循环能力,人机 交互能力差,即用户无法进行输入,计算机无法给出提示,无法显示对 话框,无法显示自定义窗体。因此,需要对录制的宏进行编辑修改。 章目录 节目录
4.1.3为宏指定快捷键 快捷键即快速执行某项操作的组合键。例如:CTRL+C在许 多程序中代表“复制”命令 当给宏指定了快捷键后,就可以用快捷键来执行宏,而不必 通过“工具”菜单。 可以在创建宏时指定快捷键,也可以在创建后再指定 注意:当包含宏的工作簿打开时,为宏指定快捷键会覆盖原有快 捷键的功能。因此,在定义新的快捷键时,尽量避开系统已定义 的常用快捷键 41.4指定宏保存的位置 宏可保存在三种位置:当前工作簿、新工作簿和个人宏工作簿。 将宏保存在当前工作簿或新工作簿,只有该工作簿打开时,相 应的宏才可以用 人宏工作簿是为宏而设计的一种特殊的具有自动隐嶽特性的 工作簿。第一次将宏创建到个人宏工作簿时,会创建名为 “ PERSONAL XLS的新文件。如果该文件存在,则每当 EXCEL 启动 粜箪中宠择“取消隐簸”后,岢以发现它的存准。 章目录节目录
❖ 4.1.3 为宏指定快捷键 快捷键即快速执行某项操作的组合键。例如:CTRL+C 在许 多程序中代表“复制”命令。 当给宏指定了快捷键后,就可以用快捷键来执行宏,而不必 通过“工具”菜单。 可以在创建宏时指定快捷键,也可以在创建后再指定。 ❖ 注意:当包含宏的工作簿打开时,为宏指定快捷键会覆盖原有快 捷键的功能。因此,在定义新的快捷键时,尽量避开系统已定义 的常用快捷键。 ❖ 4.1.4 指定宏保存的位置 宏可保存在三种位置:当前工作簿、新工作簿和个人宏工作簿。 将宏保存在当前工作簿或新工作簿,只有该工作簿打开时,相 应的宏才可以用。 个人宏工作簿是为宏而设计的一种特殊的具有自动隐藏特性的 工作簿。第一次将宏创建到个人宏工作簿时,会创建名为 “PERSONAL.XLS"的新文件。如果该文件存在,则每当EXCEL 启动时会自动将此文件打开并隐藏在活动工作簿后面。在“窗口” 菜单中选择“取消隐藏”后,可以发现它的存在。 章目录 节目录
4.1.5将宏指定给按钮 VBA主要的目标是为自动化提供一个易于操作的界面。“按钮”是最 常见的界面组成元素之 通过使用“窗体”工具栏,可以为工作簿中 的工作素添担锂在创建完一个按钮后,可以为它指定宏,然后就可 此后,单击按钮就可以运行该宏。在按钮上右击鼠标,可改变大小或 标题 ÷4.1.6将宏指定给图片或工具栏按钮 除了将宏指定给按钮外,还可以指定给图片和工具栏按钰 指定宏到图片十分简单,用“插入图片”菜单或其他方法在当前工作 表放置图片后,右击图片,在快捷菜单中选“指定宏”即可进行设置。 将宏指定给“工具栏按钮”,可按如下步骤进行: ①在EXce中,选择“工具自定义”菜单,显示“自定义”对话框。 在“命令”卡中,从“类别”列表框中选择“宏”,从“命令” 列表框中将“自定义按钮”拖动到任意一个工具栏上。 ③右击该按钮,选择“指定宏”,显示“指定宏”对话框。 ④选择需要的宏名并单击“确定”按钮。 ⑤单击“关闭”按钮,关闭“自定义”对话框。 章目录节目录
❖ 4.1.5 将宏指定给按钮 VBA主要的目标是为自动化提供一个易于操作的界面。“按钮”是最 常见的界面组成元素之一。通过使用“窗体”工具栏,可以为工作簿中 的工作表添加按钮。在创建完一个按钮后,可以为它指定宏,然后就可 以通过单击按钮来执行宏了。 此后,单击按钮就可以运行该宏。在按钮上右击鼠标,可改变大小或 标题。 ❖ 4.1.6 将宏指定给图片或工具栏按钮 除了将宏指定给按钮外,还可以指定给图片和工具栏按钮。 指定宏到图片十分简单,用“插入|图片”菜单或其他方法在当前工作 表放置图片后,右击图片,在快捷菜单中选“指定宏”即可进行设置。 将宏指定给“工具栏按钮”,可按如下步骤进行: ①在Excel中,选择“工具|自定义”菜单,显示“自定义”对话框。 ②在“命令”卡中,从“类别”列表框中选择“宏”,从“命令” 列表框中将“自定义按钮”拖动到任意一个工具栏上。 ③右击该按钮,选择“指定宏”,显示“指定宏”对话框。 ④选择需要的宏名并单击“确定”按钮。 ⑤单击“关闭”按钮,关闭“自定义”对话框。 章目录 节目录
4.2控件与用户窗体 4.2.1控件 在Exce工具栏上单击鼠标右键,从快捷菜单中选择“窗体”,显示出“窗体” 工具栏,其中有16个控件,9个可放到工作表上。 1.标签:用于表现静态文本 2.分组框:用于组合其它控件。 3.按钮:用于执行宏命令。 4.复选框:它是一个选择控件,通过单击可以选择和取消选择,可以多项选择。 5.选项按钮:通常几个选项按钮组合在一起使用,在一组中只能选择一个选项 按钮 6.列表框:用于显示多个选项并从中选择。 7.组合框:用于显示多个选项并从中选择。可以选择其中的项目或者输入一个 其它值。 8.滚动条:是一种选择控制机制。包括水平滚动条和垂直滚动条。 9.微调控件:是一种数值选择杋制,通过单击控件的箭头来选择数值。 要将控件添加到工作表上,可以在“窗体”工具栏中单击需要的控件,此 时鼠标变成十字形状,在当前工作表的适当位置按下鼠标左键并拖动鼠标画出 个矩形,这个矩形代表了控件的大小,对大小满意后放开鼠标左键,这样一个控 件就添加到工作表上了 章目录 节目录
4.2 控件与用户窗体 ❖ 4.2.1 控件 在Excel工具栏上单击鼠标右键,从快捷菜单中选择“窗体”,显示出“窗体” 工具栏,其中有16个控件,9个可放到工作表上。 1.标签:用于表现静态文本。 2.分组框:用于组合其它控件。 3.按钮:用于执行宏命令。 4.复选框:它是一个选择控件,通过单击可以选择和取消选择,可以多项选择。 5.选项按钮:通常几个选项按钮组合在一起使用,在一组中只能选择一个选项 按钮。 6.列表框:用于显示多个选项并从中选择。 7.组合框:用于显示多个选项并从中选择。可以选择其中的项目或者输入一个 其它值。 8.滚动条:是一种选择控制机制。包括水平滚动条和垂直滚动条。 9.微调控件:是一种数值选择机制,通过单击控件的箭头来选择数值。 要将控件添加到工作表上,可以在“窗体”工具栏中单击需要的控件,此 时鼠标变成十字形状,在当前工作表的适当位置按下鼠标左键并拖动鼠标画出一 个矩形,这个矩形代表了控件的大小,对大小满意后放开鼠标左键,这样一个控 件就添加到工作表上了。 章目录 节目录
4.2.2用户窗体 用户窗体。用户窗体可以作为程序的对话框和窗口。向用户 窗体添加控件类似于向工作表添加控件。 在VBA编辑器中出现一个名为“ UserForn1”的窗体,“控件工 具箱”同时出现,在其中有许多已经熟悉的控件,另外还有一些 新的控件 这些新的控件是: 1.切换按钮:该控件如果被选中,那么会保持被按下的状态 如果再次单击它就恢复为没有按下的状态 2.选项卡条( Tab Strip):它是包含多个选项卡的控件。通常 用来对相关的信息进行组织或分类。 3.多页:外观类似选项卡条,是包含一页或多页的控件。选 看本含侖祭鹪外乘多页贅粕筒鳥贪惫题择明, 否则应该选择多页。 4.图像控件:它允许向窗体上放置图片。 5. Refedit:它外观象文本框,通过这个控件可以将用户窗 体折叠起来,以便选择单元格区域。 章目录 节目录
❖ 4.2.2 用户窗体 用户窗体。用户窗体可以作为程序的对话框和窗口。向用户 窗体添加控件类似于向工作表添加控件。 在VBA编辑器中出现一个名为“UserForm1”的窗体,“控件工 具箱”同时出现,在其中有许多已经熟悉的控件,另外还有一些 新的控件。 这些新的控件是: 1.切换按钮:该控件如果被选中,那么会保持被按下的状态。 如果再次单击它就恢复为没有按下的状态。 2.选项卡条(TabStrip):它是包含多个选项卡的控件。通常 用来对相关的信息进行组织或分类。 3.多页:外观类似选项卡条,是包含一页或多页的控件。选 项卡条给人相似的外观,而多页控件的各页包含各自不同的控件, 有各自不同的布局。如果每一页具有相同布局,则应选择选项卡条, 否则应该选择多页。 4.图像控件:它允许向窗体上放置图片。 5.RefEdit:它外观象文本框,通过这个控件可以将用户窗 体折叠起来,以便选择单元格区域。 章目录 节目录
4.3对象、属性、方法和事件 令同其它任何面向对象的编程语言一样,VBA里也有对象、属 性、方法和事件。所谓对象,就是代码和数据的组合。如表 窗体或文本框等都是对象。所谓属性,是指对象的特性,像 大小、颜色、状态等。所谓方法指的是对象能执行的动作, 如刷新等。事件是一个对象可以辨认的动作,像单击鼠标或 按下某键等,并且可以写某些代码针对此述动作来做响应。 在VBA中,窗口和它上面的“关闭”按钮,是两个对象。窗 口及按钮的颜色、大小是它们的属性。当你按下“关闭”按 钮时,发生关闭事件,通过相应的方法关闭窗口。 【例41 章目录节目录
4.3 对象、属性、方法和事件 ❖ 同其它任何面向对象的编程语言一样,VBA里也有对象、属 性、方法和事件。所谓对象,就是代码和数据的组合。如表、 窗体或文本框等都是对象。所谓属性,是指对象的特性,像 大小、颜色、状态等。所谓方法指的是对象能执行的动作, 如刷新等。事件是一个对象可以辨认的动作,像单击鼠标或 按下某键等,并且可以写某些代码针对此述动作来做响应。 ❖ 在VBA中,窗口和它上面的“关闭”按钮,是两个对象。窗 口及按钮的颜色、大小是它们的属性。当你按下“关闭”按 钮时,发生关闭事件,通过相应的方法关闭窗口。 【例4.1】 章目录 节目录