Excel 录制宏并查看宏代码

在「Excel 中的基本概念」一文中,我们初步了解了 Excel VBA 对象模型。简单来说,Excel 是一个对象,我们所知道的、所使用的功能方法,均是在此对象内的属性、方法或子对象。

众所周知,Excel 包含太多功能,也就是说包含太多对象。在 Excel VBA 开发过程中,除了常用的对象外(例如,工作簿、工作表对象),我们无法知道其他所有对象的使用方法。

好在,Excel 提供了一个自动生成代码的功能,即录制宏。录制宏功能可以把用户与 Excel 交互的操作,以 VBA 代码的形式记录下来。这个过程是自动的,不需要用户写代码,Excel 自动生成 VBA 代码。

因此,使用录制宏功能,得到 Excel 指定功能是如何用 VBA 实现的。 在实际的 Excel 开发过程中,此方法使用频率很高。当你不知道如何写 VBA 代码时,只需录制下来,打开编辑器,查看代码即可。

今天的教程,介绍如何录制并查看录制后的代码。本例中我们录制「设置单元格背景色」操作,并查看该操作的 VBA 代码。

步骤 1 准备启用宏的工作簿

老规矩,Excel VBA 开发需工作簿启用宏。详细方法查看以下文章:

步骤 2 填写要录制的宏的信息

录制宏的第一步,是填写宏的信息,包括宏名称、指定快捷键、保存位置等。

点击「开发工具→代码→录制宏」按钮。

 

在弹出的录制宏对话框中,填写宏信息。本例中我们使用默认信息。

 

步骤 3 录制操作

上一步填写完信息后,点击确定,这时 Excel 进入录制状态,原先的录制宏按钮更新为「停止录制」。

这时,我们可以进行正常操作了。选中 A1 单元格,将背景设为黑色。

完成后,不要进行其他操作,转到开发工具选项卡,点击「停止录制」按钮。这样一个录制宏操作就结束。

 

步骤 4 查看录制后的 VBA 代码

Alt + F11 打开 VBA 编辑器。可以看到,在左侧工程窗口中,多了一个新模块。

完成录制后,Excel 自动以默认名称插入一个新模块,并将录制的宏的代码放置在该模块中。双击该模块,在右侧代码编辑窗口可以看到刚刚录制的宏的 VBA 代码。

 

我们知道宏就是一个 VBA 过程,录制宏时,最终的 VBA 过程的名称就是在第二步填写的宏名称。

而 VBA 过程的实体部分,就是之前的操作的 VBA 代码。本例中是单元格设置背景色的 VBA 代码。

 

总结

以上就是录制宏并查看其代码的基本方法。建议你自己现在打开一个 Excel 工作簿,录制自己常用的功能和操作,看一看他们的代码。这个方法在实际的 VBA 开发过程中,经常能用到。

转载注明:文章转载自「懒人Excel - www.lanrenexcel.com
订阅评论
提醒
12 评论
最新
最旧 最多投票
内联反馈
查看所有评论
超人不会飞
9 月 前

这个功能很棒啊,可以自己举列子自己去参考学习。

牧羊人
1 年 前

我录制之后,怎么看不到录制之后的代码?

noovertime
1 年 前

为什么我录制完宏后,没有出现一个新的模块,而是被放在了上一步我重命名的模块下

最后由noovertime编辑于1 年 前
海棠*
1 年 前

你好!再请教一下。
1,是否可以接着已经录制过的一个宏后面再次录制?目的是希望能够将两个宏合并起来。是否可以录制第二个后,直接将代码复制到第一个宏里面就可以?
2,如果录制过程中涉及到其他的excel工作簿,在宏看来,是不是引用的工作簿的名称必须得到严格遵守的。比如,这次引用到“XYZ-A.xlsx”,那么对于宏来说,下次运行时是不是就必须是“XYZ-A.xlsx”。如果文件夹中有“XYZ-A.xlsx”、“XYZ-B.xlsx”、“XYZ-C.xlsx”……是否有可能将每个工作簿中的数据都引用更新一遍?

谢谢。

爱偷懒的萱萱
1 年 前

录制了一个两列相加的,可以正常运行,真不错!

川流不息
2 年 前

请问你用的excel是哪个版本?

zohing
2 年 前

简单易懂,谢谢

kongbai
2 年 前

这个写的特别好,简单易懂。

12
0
希望看到您的想法,请您发表评论x