0

我在将工作表转移到另一个工作簿时遇到问题。我在我的第一个工作簿中编写了几个宏以及 1 或 2 个表单,我需要能够将包含这些宏和表单的工作表移动到新工作簿中。如果我只是做一个简单的工作表副本,新版本的工作表将引用旧工作表的宏,当我尝试加载第二个工作表时,我编写的表单(在第一个工作表中)不会启动。

有什么建议么?我试过谷歌搜索,似乎没有任何类似的问题......也许我错过了什么?

4

3 回答 3

3

要复制宏和表单,您需要将它们从原始工作簿中导出,然后将它们导入到新工作簿中。

要导出,请在原始工作簿的 Project Explorer 中右键单击相关表单或模块,然后选择Export File. .frm这将为表单创建文件或.bas为模块创建文件。然后,您可以转到新工作簿并Import File以相同的方式使用。

如果您使用了资源管理器的 Microsoft Excel 对象部分中的特殊模块(例如,名为Sheet1或被调用的模块ThisWorkbook),您可能会发现这些模块无法正确导入。对于那些,只需将宏的源代码从一个工作簿复制并粘贴到另一个工作簿

于 2009-10-07T00:08:41.117 回答
1

唯一的方法是“barrowc”所建议的。但是,您可能想判断哪一个更容易,将宏表移动到新文件或将工作表从新文件移动到带有宏的文件:)

干杯...

于 2009-10-07T11:06:50.817 回答
0

我可能会为显而易见的事情而烦恼,但通常当我需要将代码从一个工作簿移动到另一个工作簿(而不是布局、命名范围等)时,我:

  • 打开两个工作簿
  • 打开 vba 编辑器 (alt + F11)
  • 将所需模块从一个项目拖到另一个项目中。

为了摆脱对其他工作簿的引用,我会尝试(不肯定它会起作用..)进行查找/替换,找到整个工作簿名称并将其替换为空字符串(“”)并确保在选项下你看:公式(我相信)。

希望有帮助。

于 2012-06-06T14:19:41.943 回答