使用宏/ vba代码将选项卡/工作表从一个工作簿复制到另一个工作簿(1个按钮)

时间:2015-02-27 21:30:49

标签: excel vba excel-vba excel-2010

两个(希望)简单的问题 -

  1. 我可以将2个标签从File1.xlsm复制到master.XLSX文件并仍然运行宏代码吗?我想不是吗?

  2. 假设我不能做#1,我可以将2个标签复制到另一个master.xlsm文件中吗?如果是这样,请帮助我尝试以下方法。

  3. File1.xlsm只有一个带有1个按钮的网格,该按钮调用' File1.xlsm'!getData填充网格。

    我能够右键单击File1.xlsm中的选项卡,然后将它们成功移动/复制到master.xlsm中,但不使用vb​​a getData Sub()。当我点击按钮时,它说它找不到!getData代码。有没有一种干净的方法可以将2个标签和!getData宏代码复制到Master.xlsm?

    提前感谢一大堆!

2 个答案:

答案 0 :(得分:0)

要完成此任务,您应该考虑将相关代码添加到File1工作簿中的模块中。您需要在File1工作簿库中启用Visual Basic扩展性。

然后,您需要将模块和两个工作表一起复制到新工作簿中。您可以使用与以下类似的命令执行此操作。

ActiveWorkbook.VBProject.VBComponents("module1").Export Path
SomeWorkbook.VBE.VBProject.VBComponents.Import Path

其中path是一个字符串变量,指向您要放置模块的位置,而someworkbook将是您的Master.xlsm工作簿对象。

答案 1 :(得分:0)

with ActiveWorkbook.VBProject
  .VBComponents("sheet1").codemodule.addfromstring   .VBComponents("Sheet1").codemodule.lines(1,.VBComponents("Module1").codemodule.CountofLines)
end with
sheets(array("sheet1","sheet2")).copy