怎么样让Excel在打开时就自动执行编好的宏代码?

其实意思很简单,我有很多份的Excel表格数据需要处理,每份表格中数据的格式是一样的,但它们各有不同的使用条件,故不能粘在一张表里处理,当然处理公式是一样的。现在我用很多公式和算法对其中一个表格进行了数据的处理,但是表格很多,我总不能每一个表格都费这么大的功夫去手动处理吧?所以我在处理第一张表格时录制了宏,我也知道只要对之后的每一张表格都执行这个宏就行了,但是因为我是要做一个功能,希望能够在打开一个新的表格时就能自己读取我事先写好并保存在某地的宏,然后执行这个宏并处理数据,而不是我手动把宏代码粘贴进去,请问我要怎么做?应该在录制的代码上加上什么语句,把代码存在哪里之类的。
之前网上搜了很多,但都不是很懂,有说要用类模块,workbook什么的,但我的宏基础很差,完全不知道在说什么,在哪里保存什么的。。。希望您回答时能够提供详细的哪怕是最基本的步骤,就只有这么多分了,谢谢。
对了。我用的是Excel2010,
对了,我要求的是打开一个新的表格时也能执行,而不是每次打开之前那份Excel时才能执行

首先进入VBA编辑器(ALT+F11进入、或者ALT+F8选宏再点编辑),然后再打开工程资源管理器(菜单查看下选中、或者直接按CTRL+R键),在资源管理器里面的ThisWorkBook上双击鼠标,会打开工作的相关代码,粘贴下面的例子代码:

Private Sub Workbook_open()
    msgbox "工作表打开了"
    'call å…¶å®ƒå®ï¼Œæˆ–者继续写其它语句
End Sub

 è¿™æ ·æ¯æ¬¡æ‰“开工作簿就会执行Workbook_open宏的代码。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-05-05
你把录制好的宏,放在一个WorkBook的open事件中,然后把这个文件保存为XLA类型。再打开Excel,在文件、选项、加载项中添加这个xla。以后你双击你的Excel文件时,这个xla就能自动执行了
第2个回答  2014-05-05
首先你需要把宏代码放在workbook的open事件中,这样才能在打开时自动执行。其次,由于你的宏代码只能执行当前工作表的动作,所以你需要编写类似于For 循环语句来遍历你所有的工作表。
第3个回答  2014-05-05
Private Sub Workbook_open()
【功能代码】
End Sub

或者

Private Sub Workbook_open()
Call【代码名】
End Sub

Workbook_open事件代码为工作簿代码,一定要放在Thisworkbook模块内,否则不会自动运行。追问

你好,谢谢你的回答。

我没有任何基础,别见笑,什么叫thisworkbook。。。是这个当前工作簿吗

追答

双击红色圈中的名称,将代码粘贴在右边弹出的代码窗口中。

追问

请问可以再详细一点吗,具体说说步骤,不要嫌我烦哈

现在有录制好的代码了,然后我怎么样?

点开宏:

宏名还有下面的位置选什么?

点了thisworkbook后是这样的,

然后直接这么写吗

再然后怎么保存,是不是要改成xlsm后缀,还有这样真的可以对所有新打开的文件都成立吗,不会像三楼说的那样用什么for语句?

追答

打开我的附件看看,功能代码放在模块1中!


功能代码的功能是在A1单元格输入100。

本回答被提问者和网友采纳
相似回答