2016-09-30 118 views
0

我已經回顧了與調用子模塊中的模塊有關的其他問題,但解決方案似乎不適用於我的案例。我試圖在我命名爲filepath1的userform文本框內發生更改時在模塊內運行代碼。調用子模塊中的模塊

下面是我嘗試運行的代碼的副本。每當我收到編譯錯誤「預期的變量或過程,而不是模塊」。確認我的模塊名稱與子窗體或用戶窗體中的任何其他名稱不同。任何建議表示讚賞!

Private Sub Filepath1_Change() 
    Call ChangeFilepath 
End Sub 
+0

如果Excel「看見」一個模塊,則必須有一個與子程序,函數或變量具有相同的名稱。當出現錯誤時是否突出顯示了一行?也許有問題的模塊在另一本打開的書中? – Hrothgar

回答

1

大多數情況下,模塊可以安全地忽略。你不是試圖運行一個模塊,而是試圖運行存儲在模塊中的子例程,只要它沒有設置爲私有模式,就不需要指定模塊名稱。

如果您在名爲「UpdateFilepath」的模塊中有一個名爲「ChangePath」的宏,您的調用將是Call ChangePath

+0

可能有一個複雜因素--OP可能在稱爲「ChangePath」的模塊中有一個名爲「ChangePath」的子例程,在這種情況下,它們需要限定子例程的名稱並使用「調用ChangePath.ChangePath」。 – YowE3K