【发布时间】:2009-10-06 23:12:16
【问题描述】:
我在将工作表转移到另一个工作簿时遇到问题。我在我的第一个工作簿中编写了几个宏以及 1 或 2 个表单,我需要能够将包含这些宏和表单的工作表移动到新工作簿中。如果我只是做一个简单的工作表副本,新版本的工作表将引用旧工作表的宏,当我尝试加载第二个工作表时,我编写的表单(在第一个工作表中)不会启动。
有什么建议吗?我试过谷歌搜索,似乎没有任何类似的问题......也许我错过了什么?
【问题讨论】:
我在将工作表转移到另一个工作簿时遇到问题。我在我的第一个工作簿中编写了几个宏以及 1 或 2 个表单,我需要能够将包含这些宏和表单的工作表移动到新工作簿中。如果我只是做一个简单的工作表副本,新版本的工作表将引用旧工作表的宏,当我尝试加载第二个工作表时,我编写的表单(在第一个工作表中)不会启动。
有什么建议吗?我试过谷歌搜索,似乎没有任何类似的问题......也许我错过了什么?
【问题讨论】:
要复制宏和表单,您需要将它们从原始工作簿中导出,然后将它们导入到新工作簿中。
要导出,请右键单击原始工作簿中项目资源管理器中的相关表单或模块,然后选择Export File。这将为表单创建.frm 文件或为模块创建.bas 文件。然后您可以转到新工作簿并以相同方式使用Import File。
如果您使用了资源管理器的 Microsoft Excel 对象部分的特殊模块(例如名为 Sheet1 的模块或名为 ThisWorkbook 的模块),您可能会发现这些模块无法正确导入。对于那些,只需将宏的源代码从一个工作簿复制并粘贴到另一个工作簿
【讨论】:
唯一的方法是'barrowc'所建议的。但是,您可能想判断哪一个更容易,将宏工作表移动到新文件或将工作表从新文件移动到具有宏的文件:)
干杯...
【讨论】:
我可能对显而易见的事情感到厌烦,但通常当我需要将代码从一个工作簿移动到另一个工作簿(而不是布局、命名范围等)时,我:
为了摆脱对其他工作簿的引用,我会尝试(不肯定它会起作用..)进行查找/替换,找到整个工作簿名称并将其替换为空字符串(“”)并制作确定在您查看的选项下:公式(我相信)。
希望对您有所帮助。
【讨论】: