我创建了一个包含大量工作表的Excel 2010工作簿。执行各种数据操作的VBA代码在几个模块中,并且还附加到几种形式。该工作簿正在分发给不同部门的几十个人使用。他们将使用自己的部门特定数据填充他们的工作簿。
如果我需要向代码分发更新(错误修复或某些新功能),该怎么办呢?我不希望用户必须重新输入或将所有数据复制/粘贴到“新”工作簿中 - 我实际上是在寻找一种方法来更新现有工作簿中的VBA项目。
答案 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