2016-11-16 61 views
1

我目前有一个宏,它创建另一个工作簿并向它添加一个按钮。我已经为该按钮分配了一个宏,但我相信我仍然需要主工作簿来实际运行宏。在不同的工作簿上使用宏创建按钮

有没有办法让宏在新的工作簿上运行而不需要引用主工作簿?换句话说,是否可以以编程方式将按钮添加到带有宏的新工作簿,并使其独立于原始工作簿?

在此先感谢!

回答

2

我想是这样的:

  • 与在其代码窗格中的模板工作表都丝毫一个ActiveX按钮及其相应代码的“主”工作簿

    说,它的名字是“在您的宏使用TemplateSheetWithButtonAndCode”

  • Worksheets("TemplateSheetWithButtonAndCode").Copy 
    ActiveWorkbook.SaveAs "c:\MyFolder\MyWorkbooK" 
    

这将产生你的“模板”工作表的副本作为其唯一的工作表一个新的工作簿,必要的代码一起有按钮的工作

+0

因此,工作表代码成功复制,但每次我点击按钮时,它都会引用“主”宏。我试过指定宏表格宏(即sheet1.macro),但它一直指向“主文件”宏的目录。有什么办法强制它引用图纸宏? – ViggieSmalls

+1

所以它不是'ActiveX'按钮,而是'Form'。在这种情况下,只需按照[此链接](https://www.thespreadsheetguru.com/blog/correcting-shape-assigned-macro-links-after-copying-worksheet-vba) – user3598756

0

放在一个模板工作表的按钮。将该按钮的关联宏放在该工作表的代码区域中。

如果您将工作表导出到其他工作簿,您还将导出按钮和宏。

+0

重新命名其“OnAction”属性,即完全是我回答的......正如长老所说的那样,“repellent juvant” – user3598756

相关问题