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

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

如果我需要分发代码的更新(错误修复或一些新function),那怎么做? 我不希望用户必须重新input或复制/粘贴他们所有的数据到“新”工作簿 – 我本质上是寻找一种方法来更新现有的工作簿内的VBA项目。

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

将所有可能需要在将来更改的vba代码移到Help.xlsm

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

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

上面假设你所有的客户都在同一个networking上,这样你就可以将Help.xlsm某个可以访问他们所有文件的地方。

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

您需要导出模块和表单,并将其手动导入到现有的工作簿中。 我曾经为我所从事的一些项目做这个工作。

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

你也可以通过程序来做到这一点。 我用这个小补丁。 http://cpearson.com/excel/vbe.aspx