VB Excel:如何移动工作表与表格/macros

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

有什么build议么? 我试过谷歌search,似乎没有任何类似的问题…也许我错过了什么?

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

要导出,请右键单击原始工作簿的“项目资源pipe理器”中的相关表单或模块,然后select“ Export File 。 这将为模块的表单或.bas文件创build.frm文件。 然后,您可以转到新的工作簿,并以相同的方式使用Import File

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

唯一的方法是“barrowc”所build议的。 但是,您可能需要判断哪一个更容易,将macros表移动到新macros或将macros从新文件移动到macrosmacros

干杯…

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

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

为了摆脱对其他工作簿的引用,我会尝试(不积极的工作..)做一个查找/replace,find整个工作簿名称,并用一个空string(“”),并确保在选项你看:配方(我相信)。

希望有所帮助。