在EXCEL中录制了一个宏,请问在编辑器添加什么VBA代码,让该宏自动运行,而不要总是去点击快捷键。

我的意思是只按一次快捷方式,宏代码便自动运行n次。
2024-11-06 05:09:48
推荐回答(4个)
回答1:

在 Excel 启动时运行宏,有两个办法可以做到这一点:   
录制一个宏,然后用 Auto_Open 这一名称保存它。   
将此宏编写为工作簿“打开”事件的 Microsoft Visual Basic? for Applications (VBA) 过程。   录制 Auto_Open 宏会受到诸多限制。与录制 Auto_Open 宏相比,将启动宏编写为工作簿“打开”事件的 VBA 过程功能会强大得多,而且更为灵活,所以是创建启动宏的首选方法。   将工作簿设置为在 Excel 启动时自动打开  不管您用上述两种方法中的哪一种来创建宏,都要将宏保存在一个特定的工作簿中。因此,如果您想让这个宏在每次 Excel 本身启动时运行,就必须确保包含此宏的工作簿在 Excel 启动时自动打开。要做到这一点,您必须将包含该启动宏的工作簿(或指向此工作簿的快捷方式)保存在 XLStart 文件夹中。XLStart 文件夹的位置因您所用的 Microsoft Windows? 版本及其配置情况而异。

回答2:

打开excel文件,摁下组合键alt+F11,打开VBA编辑器,摁下CTRL+R,调出工程资源管理器,
然后双击工程资源管理器中的sheet1,在右侧的空白代码区粘贴如下代码。
Private Sub Workbook_Open()
Application.OnTime EarliestTime:=TimeValue("12:00:00"), Procedure:="YourProc"
End Sub

然后在sheet1上右击,在弹出的菜单中点击插入→模块。
在右侧的空白代码区输入如下代码
Sub YourProc()
Worksheets("Sheet1").Range("A1:B1").ClearContents
End Sub

保存,关闭文件后再次打开,这样,文件每到中午12点,就会执行一次清空A1和B1单元格的操作。

回答3:

如果是要打开便让宏运行,可以使用Private Sub Workbook_Open()这个方式,如楼上所述,但如果是“只按一次快捷方式,宏代码便自动运行n次”,这里就有几个问题:
1、如何确定运行n的次数。
2、是否要一直运行。
3、你的宏的内容或实现的目的是什么,会不会影响正常的操作?

如果方便,可进度HI联系,进行讨论。

回答4:

我想你对宏不是太了解吧
问题一:(为宏指定快捷键)
工具 → 宏 → 选择宏名 → 单击“选项”即可设置快捷键
问题二:(宏自动重复运行)
要让宏自动运行多少次?N次是多少次?这个不能随心所欲吧。
其实让宏重复运行很简单,加循环体就可以了;那么加循环体的关键就是结束循环体的条件!
也就是说你要让宏结束重复运行的条件是什么?把这个找准了,加入循环体结束条件即可。