2015-05-29 70 views
0

我正在做學生開發實習,我必須編寫一些能夠每月自動分析電子表格的內容。在另一個工作簿中執行宏

我將會有一個用戶打開的Excel文件,輸入想要分析和比較的文件名稱後,生成圖表和其他統計數據。我想了解如何用workbooks.open打開一個新的Excel文件,但打開文件後運行一個宏是行不通的。

我想這可能是因爲我的宏沒有記錄在這些其他文件上,但我需要我的程序工作,即使我離開後,我不能告訴我的用戶將宏複製到新文件中每個月。

我也在研究工作簿之間的傳遞變量,因爲出於統計目的,我將不得不檢索每個打開的文件中的單元格G22的值,並將它們複製到我的主文件中,以便使從這些值中圖表出來。

有人能指出我正確的方向嗎?

+0

將所有的宏保存在一個單獨的excel文件中,並在打開新的excel文件的同時打開它,而不是所有的宏應該可用。 – moffeltje

+0

宏可以跨文件工作。因此,在workbook.open方法之後,宏將繼續進行。只要確保你知道你指的是哪個文件,例如。使用一個變量來引用新打開的Excel文件。 – vacip

+0

你可以從你的主文件上運行你的用戶通過引用'chosenWorkbookName.worksheetName'選擇的文件的VBA – kaybee99

回答

0

如果您創建了一個函數或子公共,您應該可以從另一個工作簿中調用它,只要這兩個工作簿都處於打開狀態。

public sub testMessage(input as string) 
    msgbox input 
end sub 
+0

謝謝你的答案。我努力做到這一點,但現在我不需要通過使新打開的文件處於活動狀態然後調用潛艇。 – l3x0rcist3

相關問題