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