将更新的Excel VBA代码分发给多个最终用户

时间:2015-08-13 18:38:18

标签: excel vba excel-vba

我创建了一个包含大量工作表的Excel 2010工作簿。执行各种数据操作的VBA代码在几个模块中,并且还附加到几种形式。该工作簿正在分发给不同部门的几十个人使用。他们将使用自己的部门特定数据填充他们的工作簿。

如果我需要向代码分发更新(错误修复或某些新功能),该怎么办呢?我不希望用户必须重新输入或将所有数据复制/粘贴到“新”工作簿中 - 我实际上是在寻找一种方法来更新现有工作簿中的VBA项目。

2 个答案:

答案 0 :(得分:2)

您可以创建一个其他帮助工作簿Help.xlsm,其文件属性设置为只读。

将您可能需要在以后更改的所有vba代码移至Help.xlsm

您分发的文件需要添加到Help.xlsm

的引用

现在将来可以对Help.xlsm进行更改,它们应该显示在客户端的文件中。

以上假设您的所有客户都在同一个网络上,以便您可以将Help.xlsm存储在其所有文件均可访问的位置。

这篇文章比我解释得更好: http://www.excelguru.ca/content.php?152-Deploying-Add-ins-in-a-Network-Environment

答案 1 :(得分:1)

您需要导出模块和表单并手动将它们导入现有工作簿。我以前必须为我工作的一些项目做这件事。

或者,您需要编写一些帮助程序代码以将旧数据导入新发布的工作簿,但这取决于数据的组织方式。这又是我为另一个项目采取的另一种方法。

您也可以在程序上执行此操作。我用它来做小补丁。 http://www.cpearson.com/excel/vbe.aspx