web-dev-qa-db-fra.com

Comment exécutez-vous/appelez-vous un module dans un autre module dans VBA excel?

D'accord, j'ai 3 modules. Mon premier module est "principal", c'est le module dont j'ai besoin pour appeler l'autre module. Ce que je veux dire, c'est que quand je lance main, je veux que ce soit call/run l'autre module. Actuellement, lorsque j'appuie sur F5, cela ne se produit pas. Comment puis-je faire cela?

Mon code actuel ressemble à ceci:

Sub main_TRY()
    Call Module2
    Call Module3
End Sub

Toute aide est grandement appréciée. Je vous remercie.

3
Nur Atiqah Hassan

Réponse:

Sub main_TRY1()
    Call Module2.Formating
    Call Module3.Data
End Sub
3
Nur Atiqah Hassan

J'ai une construction similaire sur l'un de mes scripts vba, et ça se passe comme ça.

Private Sub CommandButton1_Click()
Call GetData1
End Sub

et dans mon module2, il ressemble à ceci

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

Peut-être un peu trop, mais je voulais juste que vous compreniez la structure du code que j'utilise.

Donc, chaque fois que je clique sur le bouton "CommandButton1" Ce code ci-dessus sera exécuté, mais dans votre cas, chaque fois que vous appelez la fonction main_try (), vous devriez, comme indiqué ci-dessus, faire appel aux fonctions des modules, le module lui-même.

J'espère que cela a aidé, meilleures salutations

0
Rycket