excel_vba_编程教程(完整版)-第11章
按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
lorIndex = 3
End With
End Sub
完成后,在工作表中试验一下。你会发现结果和修改前的状况一样。在 With 语句前加入
一行:
Range(〃A5〃)。Select
试着运行该宏;则无论开始选择哪个单元格;宏运行结果都是使 A5 单元格变红。
现在可以看到,编辑录制的宏同样非常简单。需要编辑宏是因为以下三个方面的原因。一:
在录制中出错而不得不修改。二:录制的宏中有多余的语句需要删除,提高宏的运行速度。三:
希望增加宏的功能。比如:加入判断或循环等无法录制的语句。
1。7 录制宏的局限性
希望自动化的许多 EXCEL 过程大多都可以用录制宏来完成。但是宏记录器存在以下局限性。
通过宏记录器无法完成的工作有:
1)录制的宏无判断或循环能力。
2)人机交互能力差;即用户无法进行输入;计算机无法给出提示。
3)无法显示 EXCEL对话框。
4)无法显示自定义窗体。
1。8 小结
本课中;你已经掌握了 VBA 的一些基础知识;你会录制宏、编辑宏而且了解了录制宏的局限
性。你很努力。并且已经为将来学习 VBA 甚至 VB 等编程语言打下了基础。关键是你已经了解了一
个谜底;就是说;你了解了什么是编程。下面是些小练习;做完后才可以去玩哟。
思考:
1)VBA 只能用于 EXCEL 吗?
2)VBA 是基于哪种语言?
3)说说EXCEL和 VBA的关系。
4)为什么要用宏?
第二课 处理录制的宏
2。1 为宏指定快捷键
你也许希望为经常使用的宏指定快捷键。快捷键是指键的组合,当其按下时执行一条命令。
例如:CTRL+C
在许多程序中代表〃复制〃命令。当给宏指定了快捷键后,就可以用快捷键来执行宏,而不
必通过〃工具〃菜单。
注意:当包含宏的工作簿打开时间,为宏指定快捷键会覆盖 EXCEL 默认的快捷键。例如:
把 CTRL+C 指定给某个宏,那么 CTRL+C 就不再执行复制命令。用以下方法可以打印出 EXCEL 的
快捷键清单(用 A4 纸打印共有 24 页之多):
1)打开EXCEL 帮助文件并选择〃目录〃选项。
2)从〃使用快捷键〃文件夹中选择〃〃快捷键〃标题。
3)右击该标题,从快捷菜单中选择〃打印〃。
4)选择〃打印所选标题和所有子主题〃,单击〃确定〃。
3
… 页面 20…
Visual BASIC 程序设计网络教学 橄榄树
整 理
可以在创建宏时指定快捷键,也可以在创建后再指定。要在创建(录制)宏时指定快捷键,只
须在录制宏时在输入宏名后,在〃快捷键〃文本框中输入相应的键。录制宏后指定快捷键也很简
单,只需选择〃工具〃〃宏〃,显示〃宏〃对话框,选择要指定快捷键的宏,再单击〃选项〃按钮,通
过〃选项〃对话框进行设置。
2。2 决定宏保存的位置
宏可保存在三种可能的位置:
1)当前工作簿。(只有该工作簿打开时,该宏才可用。)
2)新工作簿。
3)个人宏工作簿。
2。3 个人宏工作簿
个人宏工作簿,是为宏而设计的一种特殊的具有自动隐藏特性的工作簿。第一次将宏创建
到个人宏工作簿时,会创建名为〃PERSONAL。XLS〃的新文件。如果该文件存在,则每当 EXCEL 启
动时会自动将此文件打开并隐藏在活动工作簿后面(在〃窗口〃菜单中选择〃取消隐藏〃后,可以
很方便地发现它的存在。)如果你要让某个宏在多个工作簿都能使用,那么就应当创建个人宏工
作簿,并将宏保存于其中。个人宏工作簿保存在〃XLSTART〃文件夹中。具体路径为:
C:WINDOWSProfilesApplication DataMicrosoftExcelXLSTART。可以以单词〃XLSTART〃
查询。
注意:如果存在个人宏工作簿,则每当 EXCEL 启动时会自动将此文件打开并隐藏。因为它
存放在 XLSTART 文件夹内。
2。3。1 保存宏到个人宏工作簿
本练习;将保存一个简单的宏到个人宏工作簿;该宏为文本加下划线并改为斜体;步骤如下:
1)建立一个名为〃HOUR2〃的工作簿,选择〃工具〃…〃宏〃…〃录制新宏〃;显示〃录制新宏〃对话框。
2)输入〃格式化文本〃作为宏名。
3)从〃保存在〃下拉框中选择〃个人宏工作簿〃。
4)单击〃确定〃按钮。现在进入录制模式。
5)单击〃斜体〃工具栏按钮。一段时间内;鼠标出现沙漏;特别是在第一次创建个人宏工作簿
时;因为 EXCEL 在创建该工作簿。
6)单击〃下划线〃按钮。
7)停止录制。
2。3。2 使用并编辑个人宏工作簿中的宏
刚才已经保存了一个宏到个人宏工作簿;现在可以在任何工作簿中使用该宏。可按如下步骤
操作:
1)关闭所有 EXCEL工作簿。
2)任意打开一个 EXCEL 文件。(EXCEL 自动将个人宏工作簿同时打开并隐藏。)
3)在A3中输入你的名字。
4)选择〃工具〃…〃宏〃;显示宏对话框。现在可以在宏列表中看到〃格式化文本〃这个宏。
5)选择〃格式化文本〃宏;并执行。现在 A3 单元格中;你的名字变为斜体字还带有下划线。选
择〃窗口〃…〃取消隐藏〃;可以将PERSONAL。XLS显示出来;其中没有任何文字;但通过VBA编辑器可
以在其中的模块中找到〃格式化文本〃这个宏。在 VBA 编辑器中可以对该宏进行直接编辑或者删
除。如果 PERSONAL。XLS 中一个宏都没有;在启动 EXCEL 时仍会打开 PERSONAL。XLS;这也许是
EXCEL 存在的一个小毛病。
2。4 将宏指定给按钮
即使通过快捷键可以是宏的执行变快;但是一旦宏的数量多了也难于记忆;而且;如果宏是
由其他人来使用;难道你要他们也记住那么多的快捷键吗?
作为 EXCEL 开发者;一个主要的目标是为自动化提供一个易于操作的界面。〃按钮〃是最常见
的界面组成元素之一。通过使用〃窗体〃工具栏,可以为工作簿中的工作表添加按钮。在创建完一
个按钮后,可以为它指定宏,然后你的用户就可以通过单击按钮来执行宏。在本练习中,将创
建一个按钮,并为它指定一个宏,然后用该按钮来执行宏。具体步骤如下:
1)打开〃HOUR2〃工作簿。
2)调出〃窗体〃工具栏。
4
… 页面 21…
Visual BASIC 程序设计网络教学 橄榄树
整 理
3)单击〃窗体〃工具栏中的〃按钮〃控件,此时鼠标变成十字形状。
4)在希望放置按钮的位置按下鼠标左键,拖动鼠标画出一个矩形,这个矩形代表了该按钮
的大小。对大小满意后放开鼠标左键,这样一个命令按钮就添加到了工作表中,同时 EXCEL 自
动显示〃指定宏〃对话框。
5)从〃指定宏〃对话框中选择〃格式化文本〃,单击〃确定〃。这样,就把该宏指定给命令按钮。
6)在按钮的标题〃按钮 1〃前单击鼠标左键,按下 DELETE直到删除所有文本,输入〃格式化
〃作为标题。
7)单击按钮外的任意位置,现在该按钮的标题由默认的〃按钮 1〃变为〃格式化〃而且被指定
了一个宏。
8)试着在某个单元格中输入文本,单击按钮运行该宏。
当鼠标移动至该按钮时自动变成手的形状,如果要改变其大小或标题,只需用右键单击该
按钮就可以进行修改和设置。很明显,你再也不需记住宏的名字或快捷键了,只需按一下按钮。
2。5 将宏指定给图片或其他对象
要执行宏有多种方法可以选择,可以将宏指定给按钮等控件,还可以指定给图片、自定义
工具栏、窗体甚至可以将宏指定给某个〃事件〃,比如单击工作表,双击工作表,激活工作表,
打开工作簿等等,〃事件〃是一个重要的概念,除此而外〃方法〃〃对象〃都是将来你会经常接触到
的。现在它们看来十分抽象,但是将来你会很熟悉这些词语。指定宏到图片十分简单,只需单
击某个图片,单击快捷菜单中的〃指定宏〃进行设置即可。
如果不希望在工作表上添加控件或图片执行宏,还有一种方法可以选择:将宏指定给〃工具
栏按钮〃,可按如下步骤进行:
1)打开〃HOUR2〃工作簿,选择〃工具〃…〃定义〃,显示〃自定义工具栏〃对话框。
2)从〃类别〃列表框中选择〃宏〃,从〃命令〃列表框中选择〃自定义按钮〃。
3)将〃自定义按钮〃拖动到工具栏。
4)右键单击该按钮,选择〃指定宏〃,显示〃指定宏〃对话框。
5)选择〃格式化文本〃并确定。
6)单击〃关闭〃按钮,关闭〃自定义工具栏〃对话框。
7)试着在某个单元格中输入文本,单击工具栏按钮运行该宏。
2。6 小结
小结与思考: 宏存放于三个可能的位置。个人宏工作簿存放的位置和特性。执行宏的方式。
指定宏是为某个对象的事件指定一个程序,一旦这个对象以该事件激活,系统将运行指定的程
序。
常用的对象有:workbook;worksheet;range;cells;图表;图片;数据透视表;控件;窗体;工
具栏。每一个对象都有其可以响应的特殊事件(也有一些通用事件如单击或双击等)。如有兴趣,
可以通过EXCEL帮助文件查询这几个词条。在EXCEL中看到的几乎都是属于某个对象,而在EXCEL
中所做的许多工作,如移动一下鼠标等等,都可能触发了一个事件。下一学时我们将共同学习〃
控件〃。
第三课 学习控件
3。1 EXCEL 开发过程简介
需要对以下问题有个大致的概念。
1)谁使用…这决定了程序的操作难度及界面感观。
2)数据来源和保存在哪里…这决定了程序的结构。
3)如何操作…这将决定程序的界面和细节。
4)数据处理的结果…最终决定程序的价值。
3。2 认识不同的控件
开始时请关闭所有工作簿;打开一个新工作簿并另存为〃HOUR3〃。在工具栏上单击鼠标右键;
从快捷菜单中选择〃窗体〃;显示〃窗体〃工具栏。其中有 16 个控件,只有 9个可放到工作表内。
1)标签:它用于表现静态文本。
2)分组框:它用于将其他控件进行组合。
3)按钮:用于执行宏命令。
5
… 页面 22…
Visual BASIC 程序设计网络教学