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(“”),并确保在选项你看:配方(我相信)。
希望有所帮助。