Vba 更新多人在多个电子表格中使用的宏

Vba 更新多人在多个电子表格中使用的宏,vba,excel,Vba,Excel,我使用一套Excel电子表格创建了一个系统,这些表格存储在公司共享驱动器上,供公司其他人使用。我们的每个客户都有一个从模板创建的电子表格版本。当我需要更新宏时,我必须更新电子表格的100次迭代。有没有一种方法可以让所有使用电子表格的人都能掌握电子表格所使用的master 现在我正在将宏导出到硬盘,然后将其导入到每个工作簿中。必须有更好的方法。不要为工作表的每次迭代都使用一组宏,而是使用一个以宏为“键”的工作簿。然后,其他工作簿可以调用关键工作簿来执行宏工作 您必须在关键工作簿中进行的更改位于宏中

我使用一套Excel电子表格创建了一个系统,这些表格存储在公司共享驱动器上,供公司其他人使用。我们的每个客户都有一个从模板创建的电子表格版本。当我需要更新宏时,我必须更新电子表格的100次迭代。有没有一种方法可以让所有使用电子表格的人都能掌握电子表格所使用的master


现在我正在将宏导出到硬盘,然后将其导入到每个工作簿中。必须有更好的方法。

不要为工作表的每次迭代都使用一组宏,而是使用一个以宏为“键”的工作簿。然后,其他工作簿可以调用关键工作簿来执行宏工作

您必须在关键工作簿中进行的更改位于宏中。这些值必须灵活,才能初始化为调用它们的工作簿。将关键宏设置为调用工作簿后,这些宏可以更改该工作簿

性能得到了增强,因为所有新工作簿都将具有不需要编辑的相同宏。他们只需要宏来调用关键工作簿及其函数

以后只需在关键工作簿宏中进行编辑。
如果工作簿的所有副本都采用相同的格式、工作表、名称等,这将非常有效

将宏存储在网络上单个文档的主工作簿中。将该工作簿另存为外接程序(filetype.xlam),并将工作簿属性设置为IsAddin=True


对于每个客户端工作簿,您可以添加此加载项作为参考。按名称引用的所有函数都将引用外接程序中的那些函数。这将允许您在空闲时只更新外接程序,所有其他工作簿将在下次打开时重新加载更新的外接程序。

将宏保存在一个工作簿中,数据保存在另一个工作簿中(或该工作簿的100份副本)。或者在从中心位置打开主宏工作簿的每个数据工作簿中都有一个存根宏。这会如何影响电子表格的性能?在另一个工作簿中对数据使用宏不会影响宏的执行时间-所有内容都在内存中。其他性能时间(例如,用户打开/关闭工作簿的时间)在很大程度上取决于工作流的设置方式。(例如,如果用户每天只打开一个现有文件一次,则加载时间不会有太大差异。但是如果他们每天打开很多文件,并且数据很小,但宏很大,则由于只加载一次宏,可能会有显著的改进。)