宏是指一系列以Excel能够执行的名字保存的VBA语句。Excel的宏录制器允许记录一系列的操作,并且将这些操作转换为VBA代码。即使当你对编写VBA代码已经完全熟练时,也会在工作时使用宏录制器。作为VBA开发者,使用宏录制器有两个原因:一个原因是因为使用宏录制器可以节省时间,开发者通常用它来建立应用程序的基础;另一个原因是宏录制器可以用作教学工具,如果你不能确定如何编写一系列的步骤,可以进行录制,再查看代码。
学习Excel VBA的一个最有效的方法是利用录制宏的方式录制宏并对宏进行分析。在理解了宏的基础上学习VBA,可达到事半功倍的效果。对于宏功能,主要包括宏的录制、控制、管理等,现在就让我们一起学习宏的各种功能吧。
(1)录制Excel宏
以下将要录制的宏非常简单,只是改变单元格的字体和颜色。虽然有其他方法可以实现这种类型的任务(例如风格、自动套用格式等),但是这一系列步骤为宏录制器提供了很好的示例。请完成如下步骤:
①打开新的工作簿,确认所有其他工作簿已经关闭(如果它们包含宏或者其他VBA代码),以便能够很容易地对录制的宏进行定位和处理。
②在单元格A1中输入你的名字,在单元格B1中输入你的姓,在单元格C1中输入你居住的城市名,在单元格D1中输入你居住的国家名。以上操作为下面的练习提供用来处理的数据。
③选中单元格A1。
④选择“视图”、“宏”、“录制宏”,显示如图1.55所示的“录制新宏”对话框。
图1.55 Excel2010中宏的位置
值得注意的是,如果在打开Excel2010中没有显示开发工具一栏,则选择:“文件”—“选项”—“自定义功能区”—勾选右侧“开发工具”。则可以在工具栏中显示出“开发工具”。
图1.56 录制新宏对话框
图1.57 停止录制宏(三者任选其一都可以停止录制宏)
⑤输入“设置字体格式和背景色”作为宏名,键入回车开始录制宏。注意此时Excel应用程序窗口的状态栏中显示“录制”,特别是“停止录制”工具栏也显示出来。
注意:宏名必须以字母开始。其中可用的字符包括:字母、数字和下划线。宏名中不允许出现空格。通常用下划线代表空格。
⑥右击“设置单元格格式”对话框,选择“字体”选项卡,将字体设为“黑体”。
⑦选择“填充”选项卡,将填充颜色设为红色,单击“确定”按钮。
⑧单击“停止录制”工具栏按钮,结束宏录制过程。如果“停止录制”工具栏没有显示出来,请选择“工具”、“宏”、“停止录制”。
录制完一个宏后,就可以执行它了。
(2)执行宏
当执行一个宏时,Excel按照宏语句代码在对Excel进行“遥控”。
①选择单元格B1。
②选择“视图”—“宏”—“查看宏”,显示“宏”对话框。
图1.58 “宏”对话框——选择要执行或者编辑的宏
③选择“设置字体格式和背景色”,选择“执行”,则B1单元格的颜色变为红色,字体变为黑体。
④选择单元格C1和D1,再次运行宏“设置字体格式和背景色”。尽管最初录制宏时只改变了一个单元格的字体,此时两个单元格的颜色都变为红色,字体变为黑体。
(3)查看录制的代码(www.xing528.com)
当执行希望保存到宏中的步骤时,Excel将操作步骤转化为VBA代码。要查看生成的代码,可按照如下步骤:
①选择“视图”、“宏”、“查看宏”,显示“宏”对话框。
②选择“设置字体格式和背景色”,单击“编辑”,此时会打开Microsoft Visual Basic编辑器窗口,如图1.59所示。
图1.59 Microsoft Visual Basic编辑器用来查看和编辑VBA代码
Microsoft Visual Basic编辑器包括几部分组件。在下一节中,将学习到更多有关Visual Basic组件的知识。现在应该将注意力集中到显示的代码上。显示的代码应该和下面代码清单1.1中的内容相似。
代码清单1.1 设置字体格式和背景色过程代码
代码的第一行“Sub设置字体格式和背景色()”表示了宏的起点和名字,接下来的以单引号开头的行为注释行,表示与宏有关的说明,在本例中包括宏的名字、快捷键。
宏实际工作的部分是从“with”开始的。注意单词“Selection”,Selection在VBA中用来表示突出显示的部分,这就是不论选择一个或者多个单元格宏都能正常工作的原因。你可能注意到的另一点是录制的内容比执行的操作要多得多。你仅仅改变了字体名称和填充颜色,但是所有的字体信息都从“单元格格式”对话框的“字体”和“图案”选项卡中录制下来。
(4)编辑录制的代码
编辑代码可在Visual Basic编辑器中直接进行。可添加代码行、删除行或者修改行。要做的第一件事是删除录制下来的多余的行,可按照如下步骤:
①突出显示以“.Name”开始的行。
②删除该行。不用担心产生的空行,VBA忽略空行。
③继续删除多余的行,直至过程和下面代码清单1.2中代码相同。
代码清单1.2
④关闭Visual Basic编辑器窗口,返回工作簿。
⑤在单元格E1中输入“test”。
⑥选中单元格E1,运行宏“设置字体格式和背景色”。注意宏运行的结果与删除宏中的多余的代码行之前完全相同。
⑦选择“视图”—“宏”—“查看宏”。
⑧选择“设置字体格式和背景色”,单击“编辑”按钮。
⑨现在,当运行这个宏时,字体设置为“黑体”。编辑这个宏,将字体设置为“宋体”。完成后的宏应该和代码清单1.3中代码相似。
代码清单1.3
⑩关闭Visual Basic编辑器窗口。
选中单元格A1,运行“设置字体格式和背景色”宏。现在该单元格的字体变为宋体。
现在可以看到编辑录制下来的宏非常简单。需要对宏进行编辑是因为以下两个原因:其一是在录制宏时出错;另一个原因是希望对宏的功能进行改变。不论是因为哪个原因,总是可用Visual Basic编辑器对宏进行编辑。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。