分享

录制宏代码

 hercules028 2022-10-14 发布于四川

对于VBA初学者来说,最困难的事情往往是想要实现一个功能,却不知道代码从何写起,录制宏可以很好地帮助大家。录制宏作为Excel中一个非常实用的功能,对于广大VBA用户来说是不可多得的学习帮手。

在日常工作中大家经常需要在Excel中重复执行某个任务,这时可以通过录制一个宏来快速地自动执行这些任务。
按照如下步骤操作,可以在Excel中开始录制一个新宏。
单击【开发工具】选项卡中【代码】组的【录制宏】按钮开始录制新宏,在弹出的【录制宏】对话框中可以设置宏名(FormatTitle)、快捷键()、保存位置和添加说明,单击【确定】按钮关闭【录制宏】对话框,并开始录制一个新的宏,如图42-12所示。
Image
图42-12在Excel中开始录制一个新宏
录制宏时Excel提供的默认名称为“宏”加数字序号的形式(在Excel英文版本中为“Macro”加数字序号),如“宏1”“宏2”等,其中的数字序号由Excel自动生成,通常情况下数字序号依次增大。
宏的名称可以包含英文字母、中文字符、数字和下划线,但是第一个字符必须是英文字母或中文字符,如“1Macro”不是合法的宏名称。为了使宏代码具有更好的通用性,尽量不要在宏名称中使用中文字符,否则在非中文版本的Excel中应用该宏代码时,可能会出现兼容性问题。除此之外,还应该尽量使用能够说明用途的宏名称,这样有利于日后的使用维护与升级。
注意:如果宏名称为英文字母加数字的形式,那么需要注意不可以使用与单元格引用相同的字符串,即“A1”至“XFD1048576”不可以作为宏名称使用。例如在图42-12所示的【录制宏】对话框中输入“ABC168”作为宏名,单击【确定】按钮,将出现如图42-13所示的错误提示框。但是“ABC”或“ABC1048577”就可以作为合法的宏名称,因为Excel工作表中不可能出现引用名称为“ABC”或“ABC1048577”的单元格。
Image
图42-13无效的宏名称
开始录制宏之后,用户可以在Excel中进行操作,其中绝大部分操作将被记录为宏代码。
在开始录制宏之后,功能区中的【录制宏】按钮将变成【停止录制】按钮。操作结束后,单击【停止录制】按钮,将停止本次录制宏。如图42-14所示。
Image
图42-14停止录制宏
单击【开发工具】选项卡【代码】组中的【VisualBasic】按钮或直接按组合键将打开VBE(VisualBasicEditor,即VBA集成开发环境)窗口,在代码窗口中可以查看刚才录制的宏代码,在下一章中将详细讲述VBE中主要窗口的使用方法与功能。
通过录制宏,可以看到整个操作过程所对应的代码,请注意这只是一个“半成品”,经过必要的修改才能得到更高效、更通用的代码。
录制宏的局限性

Excel的录制宏功能可以“忠实”地记录Excel中的操作,但是也有其本身的局限性,主要表现在以下几个方面。

1、录制宏产生的代码不一定完全等同于用户的操作。例如用户设置保护工作表时输入的密码就无法记录在代码中;设置工作表控件的属性也无法产生相关的代码。这样的例子还有很多,这里不再逐一罗列。
2、一般来说,录制宏产生的代码可以实现相关功能,但往往并不是最优代码,这是由于录制的代码中经常会有很多冗余代码。例如,用户选中某个单元格或滚动屏幕之类的操作,都将被记录为代码,删除这些冗余代码后,宏代码可以更高效地运行。
3、通常录制宏产生的代码执行效率不高,其原因主要有如下两点:第一,代码中大量使用Activate和Select等方法,影响了代码的执行效率,在实际应用中需要进行相应的优化。第二,录制宏无法产生控制程序流程的代码,如循环结构、判断结构等。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多