宏的意义和用法.docx
《宏的意义和用法.docx》由会员分享,可在线阅读,更多相关《宏的意义和用法.docx(11页珍藏版)》请在冰豆网上搜索。
宏的意义和用法
在介绍学习VBA之前,应该花几分钟录制一个宏。
新术语:
“宏”,指一系列EXCEL能够执行的VBA语句。
以下将要录制的宏非常简单,只是改变单元格颜色。
请完成如下步骤:
1)打开新工作簿,确认其他工作簿已经关闭。
2)选择A1单元格。
调出“常用”工具栏。
3)选择“工具”—“宏”—“录制新宏”。
4)输入“改变颜色”作为宏名替换默认宏名,单击确定,注意,此时状态栏中显示“录制”,特别是“停止录制”工具栏也显示出来。
替换默认宏名主要是便于分别这些宏。
★宏名最多可为255个字符,并且必须以字母开始。
其中可用的字符包括:
字母、数字和下划线。
宏名中不允许出现空格。
通常用下划线代表空格。
5)选择“格式”的“单元格”,选择“图案”选项中的红色,单击“确定”。
6)单击“停止录制”工具栏按钮,结束宏录制过程。
※如果“停止录制”工具栏开始并未出现,请选择“工具”—“宏”—“停止录制”。
录制完一个宏后就可以执行它了。
1.4执行宏
当执行一个宏时,EXCEL按照宏语句执行的情况就像VBA代码在对EXCEL进行“遥控”。
但VBA的“遥控”不仅能使操作变得简便,还能使你获得一些使用EXCEL标准命令所无法实现的功能。
而且,一旦熟悉了EXCEL的“遥控”,你都会奇怪自己在没有这些“遥控”的情况下,到底是怎么熬过来的。
要执行刚才录制的宏,可以按以下步骤进行:
1)选择任何一个单元格,比如A3。
2)选择“工具”—“宏”—“宏”,显示“宏”对话框。
3)选择“改变颜色”,选择“执行”,则A3单元格的颜色变为红色。
试着选择其它单元格和几个单元格组成的区域,然后再执行宏,以便加深印象。
1.5查看录制的代码
到底是什么在控制EXCEL的运行呢?
你可能有些疑惑.好,让我们看看VBA的语句吧.
1)选择“工具”—“宏”—“宏”,显示“宏”对话框。
2)单击列表中的“改变颜色”,选择“编辑”按钮。
此时,会打开VBA的编辑器窗口(VBE)。
关于该编辑器,以后再详细说明,先将注意力集中到显示的代码上。
代码如下:
(日期和姓名会有不同)
Sub改变颜色()
'
'改变颜色Macro
'xw记录的宏2000-6-10
'
'
WithSelection.Interior
.ColorIndex=3
.Pattern=xlSolid
.PatternColorIndex=xlAutomatic
EndWith
EndSub
将来会十分熟悉这种代码,虽然现在它们看上去像一种奇怪的外语。
学习VBA或编程语言在某种程度上比较像在学习一种外语。
Sub改变颜色():
这是宏的名称。
中间的以“'”开头的五行称为“注释”,它在录制宏时自动产生。
以With开头到EndWith结束的结构是With结构语句,这段语句是宏的主要部分。
注意单词“selection”,它代表“突出显示的区域”(即:
选定区域)。
WithSelection.Interior:
它读作“选择区域的的内部”.这整段语句设置该区域内部的一些“属性”。
其中:
.ColorIndex=3:
将该内部设为红色。
注意:
有一小圆点,它的作用在于简化语句,小圆点代替出现在With后的词,它是With结构的一部分。
另外:
红色被数字化为3.(红色警戒是否可称作:
3号警戒,嗯?
)有兴趣的话,你将3改为其他数字试试看。
.Pattern=xlSolid:
设置该区域的内部图案。
由于是录制宏,所以,虽然你并未设置这一项,宏仍然将其记录下来(因为在“图案”选项中有此一项,只是你为曾设置而已)。
xlSolid表示纯色。
.PatternColorIndex=xlAutomatic:
表示内部图案底纹颜色为自动配色。
EndWith:
结束With语句。
EndSub:
整个宏的结束语
1.6编辑录制的代码
在上一节,我们录制了一个宏并查看了代码,代码中有两句实际上并不起作用。
哪两句?
现在,在宏中作一个修改,删除多余行,直到和下面代码相同:
Sub改变颜色()
'
'改变颜色Macro
'xw记录的宏2000-6-10
'
'
WithSelection.Interior
.ColorIndex=3
EndWith
EndSub
完成后,在工作表中试验一下。
你会发现结果和修改前的状况一样。
在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)选择“打印所选标题和所有子主题”,单击“确定”。
可以在创建宏时指定快捷键,也可以在创建后再指定。
要在创建(录制)宏时指定快捷键,只须在录制宏时在输入宏名后,在“快捷键”文本框中输入相应的键。
录制宏后指定快捷键也很简单,只需选择“工具”“宏”,显示“宏”对话框,选择要指定快捷键的宏,再单击“选项”按钮,通过“选项”对话框进行设置。
2.2决定宏保存的位置
宏可保存在三种可能的位置:
1)当前工作簿。
(只有该工作簿打开时,该宏才可用。
)
2)新工作簿。
3)个人宏工作簿。
2.3个人宏工作簿
个人宏工作簿,是为宏而设计的一种特殊的具有自动隐藏特性的工作簿。
第一次将宏创建到个人宏工作簿时,会创建名为“PERSONAL.XLS"的新文件。
如果该文件存在,则每当EXCEL启动时会自动将此文件打开并隐藏在活动工作簿后面(在“窗口”菜单中选择“取消隐藏”后,可以很方便地发现它的存在。
)如果你要让某个宏在多个工作簿都能使用,那么就应当创建个人宏工作簿,并将宏保存于其中。
个人宏工作簿保存在“XLSTART”文件夹中。
具体路径为:
C:
\WINDOWS\Profiles\ApplicationData\Microsoft\Excel\XLSTART。
可以以单词“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)调出”窗体“工具栏。
3)单击”窗体“工具栏中的“按钮”控件,此时鼠标变成十字形状。
4)在希望放置按钮的位置按下鼠标左键,拖动鼠标画出一个矩形,这个矩形代表了该按钮的大小。
对大小满意后放开鼠标左键,这样一个命令按钮就添加到了工作表中,同时EXCEL自动显示“指定宏”对话框。
5)从“指定宏”对话框中选择“格式化文本”,单击“确定”。
这样,就把该宏指定给命令按钮。
6)在按钮的标题“按钮1”前单击鼠标左键,按下DELETE直到删除所有文本,输入“格式化”作为标题。
7)单击按钮外的任意位置,现在该按钮的标题由默认的“按钮1”变为“格式化”而且被指定了一个宏。
8)试着在某个单元格中输入文本,单击按钮运行该宏。
当鼠标移动至该按钮时自动变成手的形状,如果要改变其大小或标题,只需用右键单击该按钮就可以进行修改和设置。
很明显,你再也不需记住宏的名字或快捷键了,只需按一下按钮。
2.5将宏指定给图片或其他对象
要执行宏有多种方法可以选择,可以将宏指定给按钮等控件,还可以指定给图片、自定义工具栏、窗体甚至可以将宏指定给某个“事件”,比如单击工作表,双击工作表,激活工作表,打开工作簿等等,“事件”是一个重要的概念,除此而外“方法”“对象”都是将来你会经常接触到的。
现在它们