好吧,我有3個模塊。我的第一個模塊是「主」,這是我需要調用其他模塊的模塊。我的意思是,當我跑主,我想它call/run
其他2模塊。目前,當我按F5時,它不會這樣做。我該怎麼做呢?如何在VBA excel的另一個模塊中運行/調用模塊?
我當前的代碼如下所示:
Sub main_TRY()
Call Module2
Call Module3
End Sub
所有幫助是極大的讚賞。謝謝。
好吧,我有3個模塊。我的第一個模塊是「主」,這是我需要調用其他模塊的模塊。我的意思是,當我跑主,我想它call/run
其他2模塊。目前,當我按F5時,它不會這樣做。我該怎麼做呢?如何在VBA excel的另一個模塊中運行/調用模塊?
我當前的代碼如下所示:
Sub main_TRY()
Call Module2
Call Module3
End Sub
所有幫助是極大的讚賞。謝謝。
答:
Sub main_TRY1()
Call Module2.Formating
Call Module3.Data
End Sub
只有**格式化**和**數據**被聲明爲* Private Sub *時纔有必要。 A * Public Sub *是默認的,所以如果它們被聲明爲'Public Sub Formating(...)'或'Sub Formating(...)',那麼'Call Formating(...)'或簡單地'Formating(。 ..)'是適當的。除非你將參數投入到子中,否則不需要'(...)'。 – Jeeped
謝謝@Jeeped。從我的函數定義中刪除_Private_後,我可以從另一個模塊中調用它們。而且我不需要在調用我的(現在公開的)函數時包含模塊名稱。 –
我有我的VBA的腳本之一simular結構調查,它是這樣的。
Private Sub CommandButton1_Click()
Call GetData1
End Sub
,在我的模塊2,它看起來像這樣
Sub GetData1()
'my code
Dim IE As Object
Dim dd As Variant
Set IE = GetObject("new:{D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E}")
IE.Visible = False
IE.Navigate "https://www.avanza.se/aktier/om-aktien.html/5247/investor-b"
Application.StatusBar = "Loading, Please wait..."
IEWait IE
Application.StatusBar = "Searching for value. Please wait..."
dd = IE.Document.getElementsByClassName("lastPrice SText bold")(0).innerText
Range("G7").Value = dd
End Sub
也許有點多,但我只是想讓你知道我正在使用的代碼的結構。
所以每次我點擊BUTTOM「CommandButton1的」 上面這段代碼將執行,但在你的情況下,每次調用該函數main_try(),你應該,如上面所指出的,呼籲該模塊的功能,而不是模塊本身。
希望它有幫助,最好的問候
Sub或'Function'定義是否叫'Module2'和'Module3'?你想'調用TheActualSubroutineName',而不是包含代碼的模塊。例如,您希望「調用main_TRY」,而不是「調用模塊1」 –
。好吧,我已經解決了。謝謝@Dan Wagner –