如果您查看我的歷史記錄,將會看到我一直通過方法調用調用工作表參考。一個這樣的方法的工作示例:VBA:從動態模塊參考中調用Subrountine
'In module GlobalRefs
Function W_ExampleWS() As Worksheet
Set W_ExampleWS = ActiveWorkbook.Worksheets("ExampleWS")
End Function
所以,當我做正常的工作有關的電話,他們的工作:
...
GlobalRefs.W_ExamplesWS.Range("A1").Value = 42 'works
...
然而,在工作表ExampleWS有一個名爲「DesignGraph」子程序。我希望能夠通過像這樣的方法調用來調用該子例程。
'In module AnotherRandomModule
...
GlobalRefs.W_ExampleWS.DesignGraph arg1 arg2
...
我不斷收到類似錯誤的方法是不確定的,即使VBA編輯器的智能感知承認子程序的存在,因爲它糾正DesignGraph的資本化,如果拼寫錯誤套管。我正在給它正確的論據。
這是怎麼發生的?
是否存在或者你錯過了'arg1'和'arg2'之間的逗號? –
@JosieP有答案(和一個建議)。一種不同的方法可能是將工作表對象「包裝」到作爲方法公開'DesignGraph'(和任何其他例程)的自定義類中。如果你想建立一個特定的工作表「類型」,其中可能有很多實例,這是一個很好的方法:它也避免了在該類型的每個實例中複製代碼。 –
@KazJaw對不起,這是一個錯誤的問題。 :s – user1275094