VBA Excel:如何使用表单/宏移动工作表

时间:2009-10-06 23:12:17

标签: excel vba excel-vba copy worksheet

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

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

3 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:1)

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

干杯...

答案 2 :(得分:0)

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

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

为了摆脱对其他工作簿的引用,我会尝试(不肯定它会工作..)执行查找/替换,查找整个工作簿名称并将其替换为空字符串("& #34;)并确保在您查看的选项中:公式(我相信)。

希望有所帮助。