在Excel中,我们可以通过录制一个宏并执行它来快速完成一系列的操作,非常自动化地进行,那如果我们对宏里面的某个动作不满意,需要进行调整或修改,该怎么办呢?重新录制宏的话,可能会比较麻烦,尤其是操作步骤较多的情况下,这种情况下,我们可以对宏里面的某些代码(对应的某个操作)进行修改即可。 在上两期(Excel的这几种执行宏的方式,你都了解吗?,Excel中如何录制宏,相关的基本操作你都会了吗?)中,我们已经录制了一个创建时间表的宏,在本期中我们希望将时间表中的表头(“Weekly Timesheet”)的字号增大到20,并且在“Week Commencing”后面加上时间表创建的日期,在添加日期时,我们希望可以弹出一个弹窗然后用户可以手动填写当前的日期,之后再继续后面的宏操作步骤,完成时间表的创建。 编辑宏代码需要在VBA的编辑器中,点击“开发工具”选项卡,点击“宏”,打开其对话框。 在“宏”对话框中,选择所要修改的宏,然后点击“编辑”按钮,即可跳转到VBA的编辑器中。 在VBA编辑器中,我们在左侧可看到“工程-VBAProject”栏,这里可看到Excel工作簿中的各个工作表,而录制好的宏在这里保存在“模块”中(在录制宏的过程中会自动创建模块),右侧是代码框。 在代码框中:
宏里面的代码是我们在录制的过程中系统自动生成的,所以对没有真正了解过代码的用户来说,可能看到这些一大堆的英文及符号摸不着头脑,但其实也并不是很难理解。例如:
我们需要修改的动作主要有两个:
在此修改代码后,并不会立即对Excel中的表格产生影响,只有当再次执行修改后的宏才会生效。
关于InputBox的用法,可参考: Excel VBA系列之InputBox参数介绍 修改好代码后,我们需要先保存,然后再执行修改后的宏。在VBA编辑器中,我们可看到保存的按钮,或者回到Excel工作簿中点击保存按钮亦可。 回到Excel工作簿中,我们可以通过快捷键Alt+F11关闭或打开VBA的编辑器。点击“Sheet1”工作表,再点击“New Timesheet”按钮,该按钮已指定宏“Create_Timesheet”。 执行宏后,会新增一张工作表,并且弹出一个对话框(InputBox),在空白处我们输入制表的日期。 点击对话框中的“确定”后,“Sheet6”工作表中会新增一个时间表,并带上了我们输入的日期。 通过以上的案例,我们即了解到Excel中如何根据特定的需求编辑录制的宏,以及VBA编辑器的基本使用界面。下一期,我们会继续了解如何复制和删除录制的宏,敬请期待! #新技能get# |
|