Module VBA qui exécute d'autres modules

Je suis de la programmation dans Microsoft VBA. Au début, j'ai besoin de générer une table de requête à l'aide d'une macro (j'ai le code pour ça) et après que, avec l'aide de macros j'ai besoin d'appliquer des formules qui utilisent les données dans la table de requête. Le problème que je suis confronté est que la table de requête n'apparaît qu'après le Sous, dans laquelle le code est, a fini de travailler. Cela signifie que je ne peux pas inclure le code qui génère les formules, car il n'y a pas de données pour les formules à être généré.

L'idée est d'écrire un module qui exécute d'autres modules:

Sub moduleController()
    Run "Module1"
    Run "Module2"
End Sub

Cela donne l'erreur:

Erreur d'exécution 1004 - ne peut pas exécuter la macro "macroname". La macro peut ne pas être disponible dans ce classeur ou toutes les macros peuvent être désactivées.

Ce qui pourrait être la solution? Peut-être il ya une autre solution pour mon problème de chargement d'une table de requête?

Il y a deux problèmes possibles avec votre table de requête. 1.) Êtes-vous à l'actualisation de la requête après que vous l'ajouter? 2.) Par défaut, les nouvelles requêtes sont définies à l'actualisation en arrière-plan. Si vous ne changez pas alors votre macro n'est pas en attente de la requête à la fin. Essayez de rafraîchir votre requête avec .Refresh BackgroundQuery:=False.

OriginalL'auteur ositra | 2012-03-28