2014-01-31 27 views
3

在新的Excel電子表格中,我插入了一個新模塊並輸入了一個公共子文件。當試圖測試時,除非我刪除參數,否則子不會出現在宏列表中。Excel VBA模塊子程序沒有拿到參數

這種行爲是奇怪的,我找不到任何引用它作爲一個問題,我讀過的所有東西都聲明子例程(或函數,也嘗試過)可以有參數。

Public Sub RetrieveSIR() <-- Can be found 
Public Sub RetrieveSIR(SIRNumber as Integer) <-- Cannot be found 

這讓我開始嘗試解決這個問題。如果任何人都可以提供幫助,將不勝感激。

回答

8

具有參數的子工具不會出現在宏列表中,原因與您無法簡單地使用vba編輯器屏幕中的參數運行子工具相同。它們只能通過代碼調用,因此可以輸入所需的參數。

編輯: 如果無論出於何種原因,您確實需要您的宏在宏列表中,您應該在宏中將該參數設置爲一個變量,並使用輸入框指定它。這樣當用戶點擊宏時,他們會被提示輸入,然後宏可以相應地運行。

關於函數,你可以有一個帶參數的函數,並在excel中用它作爲公式,但據我所知,它們也不會出現在宏列表中。

+0

非常感謝,很高興能有一個明確的答案。非常感激。 – Roddy