可以创build几个工作簿共享的Excel VBA代码库吗?

我有几个工作簿有类似和重用的VBA代码有时我需要更新代码,我想在一个地方而不是在20个不同的工作簿这是可能的吗?

如果没有,是否有办法将所有macros从一个工作簿复制到所有其他的macros?

是的,您可以参考VBA中的其他工作簿。 虽然可能最容易把它放在一个插件。

如果你正在使用类模块,那么你只能将它们设置为私有或公共不可创build(类似的东西)。 显然他们需要被公开,但是你可以通过在普通模块中build立简单的帮助函数来解决无法创build它们的问题,除了创build类的新实例并返回它之外什么也不做。

这是可能的,是的。

SU的这个答案提到了在这篇支持性文章中更深入探讨的一种可能性。

如果您发现自己正在重新创build相同的macros,则可以将这些macros复制到保存在计算机上的名为Personal.xlsb的特殊工作簿中。

默认情况下,当您在Excel中创buildmacros时,macros只能在包含它的工作簿中工作。 只要您不需要在其他工作簿中使用该macros,此行为就可以了。 只要您在同一台计算机上启动Excel,任何工作簿中存储在个人工作簿中的任何macros都可以在您的工作簿中使用。

简而言之:logging一个macros并select将其保存在Personal Macro Workbook 。 保存并退出,然后重新打开Excel。 转到“查看”选项卡并单击取消隐藏。

支持文章给出了更详细的一步一步。

当然是可能的,我知道的两种方法是:在Personal.xlsb上复制你的macros(像Vegard写的)或者(这是我通常的情况,因为我也有我的自定义function区来玩我所有的自定义cmd),你可以打开一个新的excel文件,在这个文件中写入所有的macros/函数/类….然后保存为xlam文件。 在需要继续使用excel选项之后,添加组件并在创build之前selectxlam文件。 提示,在xlam文件中使用特定的macros名称而不是macro1,macro2,….因为进入你的下一个文件将很容易创build更多的macros,并使用相同的名称通常..