【问题标题】:VB Excel: How to move Worksheet with Forms/MacrosVBA Excel:如何使用表单/宏移动工作表
【发布时间】:2009-10-06 23:12:16
【问题描述】:

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

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

【问题讨论】:

    标签: vba excel copy worksheet


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

      干杯...

      【讨论】:

        【解决方案3】:

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

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

        为了摆脱对其他工作簿的引用,我会尝试(不肯定它会起作用..)进行查找/替换,找到整个工作簿名称并将其替换为空字符串(“”)并制作确定在您查看的选项下:公式(我相信)。

        希望对您有所帮助。

        【讨论】:

          猜你喜欢
          • 2016-07-20
          • 1970-01-01
          • 1970-01-01
          • 2015-05-07
          • 1970-01-01
          • 1970-01-01
          • 2014-09-24
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多