“宏录制器 ”可以将Excel动作转换成VBA代码。
使用宏录制器的注意事项
- 宏录制器只适合录制简单的宏或者比较复杂的宏的一部分;
- 在Excel中进行的所有动作不是都可以录制下来的;
- 宏录制器不能生成执行循环、给变量赋值、执行条件语句以及显示对话框等代码。
- 宏录制器总是可以创建Sub过程。但不能使用宏录制创建Function过程;
- 依据指定的某些设置生成代码;
- 通常要整理某些录制好的代码,进而删除无关的指令。
启动宏录制器
激活Excel,选择“开发工具”|“代码”|“录制宏”命令
在“录制宏”对话框中有一些可以设置的选项。
-
“宏名”选项
为正录制的过程输入一个名称。默认情况下,Excel为录制的每一个宏采用名称Macro1、Macro2(中文版对应的为 “宏1”、“宏2”) -
“快捷键”选项
“快捷键”选项允许通过快捷键执行宏。例如输入w(小写字母),那么就可以通过按·Ctrl+W执行宏 。如果输入W(大写字母),就可以通过Ctrl+Shift+W快捷键执行宏。请记住,赋给某个宏的快捷键可能会覆盖内置的快捷键(如果存在该快捷键的话)。例如,如果把快捷键Ctrl+B赋给了某个宏,就不能使用该快捷键来处理单元格中的加粗属性了。随时可以添加或更改快捷键,因此不必非得在录制宏的时候设置这个选项。 -
“保存在”选项
“保存在”选项告诉Excel把录制的宏保存在何处。默认情况下,Excel将录制好的宏放在活动工作簿的某个模块中。如果愿意,可将其录制到新工作簿或个人宏工作簿中。 -
“说明”文本框
如果愿意,可以在“说明”文本框中为宏添加一些说明信息。在这里输入的文本会作为注释显示在宏的开头。
清理已录制的宏
在很多情况下,录制好的宏代码中包含了可以被删除的无关命令。宏录制器生成的代码不一定是最有效的,理解这一点很重要。如果检验生成的代码,会看到Excel通常录制所选择的对象,然后在后面的语句中使用Selection对象。例如,如果先选择了一个单元格区域,然后使用“开始”选项卡上的按钮改变数字格式并应用加粗和斜体格式。下面列出了所录制的内容:
Range("A1:D9").Select
Selection.Style = "Comma"
Selection.Font.Bold = True
Selection.Font.Italic = True
虽然录制的VBA代码可以起作用,但是它只是完成这些动作的其中一种方式。还可以用效率更高的With-End-With结构,如下所示:
Range("A1:D9").Select
With Selection
.Style = "Comma"
.Font.Bold = True
.Font.Italic = True
End With
或者可以去掉Select方法,编写更有效的代码,如下所示:
With Range("A1:D9")
.Style = "Comma"
.Font.Bold = True
.Font.Italic = True
End With
如果在应用程序中速度更重要,那么通常会亲自检查所有的 VBA代码,进而尽可能确保它的高效率。
当然,在开始整理录制好的宏之前,必须充分理解VBA。但是现在,只要知道录制好的VBA代码不一定总是最好、最有效的代码就行了。
边录制宏边查看代码
- 创建空白的工作簿。
- 确保Excel窗口没有最大化,不希望它占满整个屏幕。
- 按Alt+F11快捷键激活VBE窗口。
- 重新调整和排列Excel窗口和VBE窗口,以便这两个窗口都可见。
- 激活Excel,选择“开发工具”|“代码”|“录制宏”命令,然后单击“确定”启用宏录制器。
- 激活VBE窗口。
- 在“工程资源管理器”窗口中,双击“Module1”以显示“代码”窗口中的模块。
- 在VBE中,关闭“工程资源管理器”窗口,从而最大化“代码”窗口的视图。
在工作表中来回移动并选择各种Excel命令,在显示VBA模块的窗口中生成代码的同时进行观察。
本节内容到此结束。