是否可以创建多个工作簿共享的Excel VBA代码库?

时间:2016-01-29 10:51:38

标签: excel vba excel-vba

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

如果没有办法在更改后将所有宏从一个工作簿复制到所有其他宏?

4 个答案:

答案 0 :(得分:4)

是的,您可以从VBA引用其他工作簿。可能最容易将它放入插件中。

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

答案 1 :(得分:3)

有可能,是的。

This answer on SU提到了一种更深入探讨的可能性in this support article

  

如果您发现自己正在重新创建相同的宏,则可以复制这些宏   保存在名为Personal.xlsb的特殊工作簿上的宏   你的电脑。

     

默认情况下,在Excel中创建宏时,宏仅适用于   包含它的工作簿。只要你这个行为就没问题   不需要在其他工作簿中使用该宏。你的任何宏   您可以在计算机上存储个人工作簿   无论何时在同一台计算机上启动Excel,都可以在任何工作簿中使用。

简而言之:录制宏并选择将其保存在Personal Macro Workbook中。保存并退出,然后重新打开Excel。转到视图选项卡,然后单击取消隐藏。

支持文章逐步详细说明。

答案 2 :(得分:1)

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

答案 3 :(得分:0)

我会根据经验添加我的答案,因为似乎给出的所有(未说出口)都专注于" free"。

我开始使用工作簿作为我的代码库(如上所述),但每次我对这些代码片段进行调整或改进时,我都必须返回到其他工作簿并更新它等等。快。

一旦我开始更专业地开发,投资管理我的代码的工具就有意义了。

我使用的MZTools也受到各种Excel MVP的强烈推荐,如Ken Puls,Ro Bovey等,但还有其他的。通常,这些工具还提供对开发人员有用的附加功能。如果你想让自己免于头疼,可以投入几美元。