Vba 在其他工作簿上创建带有宏的按钮

Vba 在其他工作簿上创建带有宏的按钮,vba,excel,button,Vba,Excel,Button,我目前有一个宏,可以创建另一个工作簿并向其中添加一个按钮。我已经为按钮分配了一个宏,但我相信我仍然需要主工作簿来实际运行宏 有没有办法让宏在新工作簿上运行而不引用主工作簿?换句话说,是否可以通过编程将按钮添加到带有宏的新工作簿中,并使其独立于原始工作簿 提前谢谢 我会这样说: 让您的“主”工作簿具有模板工作表,其中包含ActiveX按钮及其代码窗格中的相应代码 说它的名字是“TemplateSheetWithButton和Code” 在宏使用中 Worksheets("TemplateShee

我目前有一个宏,可以创建另一个工作簿并向其中添加一个按钮。我已经为按钮分配了一个宏,但我相信我仍然需要主工作簿来实际运行宏

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

提前谢谢

我会这样说:

  • 让您的“主”工作簿具有模板工作表,其中包含ActiveX按钮及其代码窗格中的相应代码

    说它的名字是“TemplateSheetWithButton和Code”

  • 在宏使用中

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

这将生成一个新工作簿,其中“模板”工作表的副本作为其唯一的工作表,以及按钮工作所需的代码将按钮放置在模板工作表上。将按钮的关联宏放在该工作表的代码区域中


如果您将工作表导出到另一个工作簿,您还将导出按钮和宏。

这正是我所回答的。。。正如前辈所说的“repetita juvant”,因此工作表代码成功地复制了过来,但每次我单击按钮,它都会继续引用“master”宏。我尝试将宏指定为sheet宏(即sheet1.macro),但它始终指向“主文件”宏的目录。有没有办法强迫它引用工作表宏?所以它不是一个
ActiveX
按钮,而是一个
Form
按钮。在这种情况下,只需根据重新定义其
OnAction
属性即可