【问题标题】:Excel VBA Copy Macro Code into Excel TabExcel VBA 将宏代码复制到 Excel 选项卡中
【发布时间】:2018-06-15 14:43:18
【问题描述】:

有人知道如何将多个模块的内容复制到工作表代码中吗?这都可以在同一个工作簿中。因为如果我将所有模块代码转储到一张表中并移动该表,代码就会随之移动。

工作流程图:

https://snag.gy/9NDVZI.jpg

  1. 从 Core XLS 工作簿开始。
  2. 工程师在 Core WORKBOOK 上执行编译脚本。
  3. 所有代码模块组合在一起。
  4. 合并的代码被复制到 编译工作表的代码。
  5. Compile WORKSHEET 有代码。
  6. Compile WORKSHEET 移至新的 WORKBOOK (Book1)

从技术上讲,我不需要使用组合代码创建新模块,我只是想在移动之前将其他模块中的所有代码转储到“编译”选项卡中。

更新:我只是想使用 VBA 脚本将我的代码放入一个新的工作表中。关键解决方案需要在 MAC 和 PC 上运行。如果我能找到实现它的代码https://snag.gy/82tHSZ.jpg,这也将起作用。

【问题讨论】:

  • 我不太明白您的问题,但是存储在工作表“后面”的代码是 Class 模块的特殊版本,与普通模块不同。子成为工作表的方法,函数成为属性等等。所以如果没有特殊原因,我永远不会把代码放在那里。
  • 感谢您的回复。我需要通过 VBA 将多个模块移动到一个新的工作表中,我已经搜索了两天,还没有找到一种方法来做到这一点。但是,我手动将所有代码复制到“编译”表并运行编译过程,新工作表中的所有按钮都运行良好。这就是我的目标。我不想在每次编译时手动复制我的模块。当我右键单击 Compile > View Code 并将模块中的所有代码转储到其中(函数和子程序)时,一切正常。此外,这需要在 Mac 和 PC (Office 365) 上运行。检查图表流程。
  • 将您的解释插入您的问题@JeremyWheeler
  • 你不要混淆worksheetworkbook这两个词吗?

标签: vba excel


【解决方案1】:

您正在寻找的功能在参考中

Microsoft Visual Basic for Applications Extensibility

使用命名空间VBIDE

话虽如此,您可能应该重新考虑您的方法。通常认为使用此功能是个坏主意,许多防病毒程序会将任何使用此功能的工作簿视为病毒。

【讨论】:

  • 感谢您的回复。我对任何方法都持开放态度,我只需要以某种方式将模块代码移动到新工作表中。另外,我也需要这个在 Mac 上工作。您使用“Vbe6ext.olb”提供的解决方案不适用于 Mac。
  • 我建议保存整个工作簿的副本,以便仍然可以访问原始模块。
  • 点击编译后,它会创建一个新工作簿并将标签从源工作簿移过来。我关闭了源工作簿(并且不保存它)并使用新的 Book1 工作簿保存它,目前,手动将模块添加到它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-18
  • 1970-01-01
  • 1970-01-01
  • 2011-06-23
  • 2017-06-07
相关资源
最近更新 更多