你怎么run/call一个模块在另一个模块里VBAexcel?
How do you run/call a module in another module in VBA excel?
好的,我有 3 个模块。我的第一个模块是 "main",这是我需要调用另一个模块的模块。我的意思是,当我 运行 main 时,我希望它 call/run
其他 2 个模块。目前,当我按 F5 时,它不会执行此操作。我该怎么做?
我当前的代码如下所示:
Sub main_TRY()
Call Module2
Call Module3
End Sub
非常感谢所有帮助。谢谢。
答案:
Sub main_TRY1()
Call Module2.Formating
Call Module3.Data
End Sub
我的 vba 脚本之一有一个模拟结构,它是这样的。
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
可能有点多,但我只是想让您了解我正在使用的代码的结构。
所以每次我点击按钮时 "CommandButton1"
上面的代码将执行,但在您的情况下,每次调用函数 main_try() 时,如上所述,您应该调用模块中的函数,而不是模块本身。
希望对您有所帮助,此致
我遇到过类似的情况,我需要调用“Private Sub”例程。
我决定让每个模块调用下一个。
这允许我调用第一个模块,然后它将 运行 代码并在成功时触发下一个模块,依此类推。
Sub main_TRY()
Application.Run ("ModuleNameHere")
End Sub
只需将以下内容添加到每个模块的末尾,让它调用您想要的下一个模块 运行 "NextModuleNameHere":
Application.Run ("NextModuleNameHere")
好的,我有 3 个模块。我的第一个模块是 "main",这是我需要调用另一个模块的模块。我的意思是,当我 运行 main 时,我希望它 call/run
其他 2 个模块。目前,当我按 F5 时,它不会执行此操作。我该怎么做?
我当前的代码如下所示:
Sub main_TRY()
Call Module2
Call Module3
End Sub
非常感谢所有帮助。谢谢。
答案:
Sub main_TRY1()
Call Module2.Formating
Call Module3.Data
End Sub
我的 vba 脚本之一有一个模拟结构,它是这样的。
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
可能有点多,但我只是想让您了解我正在使用的代码的结构。
所以每次我点击按钮时 "CommandButton1" 上面的代码将执行,但在您的情况下,每次调用函数 main_try() 时,如上所述,您应该调用模块中的函数,而不是模块本身。
希望对您有所帮助,此致
我遇到过类似的情况,我需要调用“Private Sub”例程。 我决定让每个模块调用下一个。 这允许我调用第一个模块,然后它将 运行 代码并在成功时触发下一个模块,依此类推。
Sub main_TRY()
Application.Run ("ModuleNameHere")
End Sub
只需将以下内容添加到每个模块的末尾,让它调用您想要的下一个模块 运行 "NextModuleNameHere":
Application.Run ("NextModuleNameHere")