你能用excel引用外部宏吗?

时间:2012-05-17 10:54:29

标签: excel excel-vba vba

我有一个相当复杂的宏,我需要在多个不同的Excel工作表上运行,这个宏会定期更新,每当需要进行更改时,必须在每个单独的Excel工作表中更改它。有没有办法让每个excel文档引用一个宏?

例如,如果我有这样的层次结构:

    DOCUMENTS:
       -xlsheet1.xls
       -xlsheet3.xls
       -xlsheet2.xls
       MACROS:
            -macro1.bas

每个工作表中都有一个按钮,单击时会运行macro1。

2 个答案:

答案 0 :(得分:5)

我建议将该宏移动到您的个人文件或创建加载项


使用个人档案

主题:从中央文件

部署Excel宏

链接http://office.microsoft.com/en-us/excel-help/deploy-your-excel-macros-from-a-central-file-HA001087296.aspx

从以上链接引用

  

您是否曾想在所有Excel工作表中使用这个非常方便的宏?您可以。本专栏介绍了如何将宏放在名为personal.xls的文件中,并在每次启动Excel时使其可用。

虽然它表示它适用于Microsoft Excel 2002,但它适用于所有excel版本。


创建加载项

主题创建Excel加载项

链接http://www.ozgrid.com/VBA/excel-add-in-create.htm

从以上链接引用

  

我经常被用户问到,分发他们的宏的最佳方式是什么?我的答案毫无疑问是通过Excel加载项。毕竟,这就是加载项的用途。对于那些不确定Excel加载项是什么的人来说,它只不过是一个Excel工作簿,它已保存为加载项,文件>另存为\ Microsoft Excel加载项(* .xla)。保存并重新打开后,工作簿将被隐藏,只能通过Visual Basic编辑器在“Project Explorer”中看到。它不会以与Personal.xls相同的方式隐藏,因为可以通过Windows> Unhide看到(并使其可见)。

答案 1 :(得分:0)

个人文件适用于在一台计算机上跨任意数量的工作簿使用宏。在具有多个用户的网络环境中,您可以通过使用包含宏的单个工作簿来模拟个人文件,并编码所有其他工作簿以在启动时打开并隐藏此工作簿。