2016-11-16 33 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

相關問題