Peut une macro dans un classeur apporter des modifications à un autre classeur?
J'ai défini une macro dans une feuille de calcul(internal.xls)
Public Sub sheet2test()
Workbooks.Open Filename:="external.xls"
Windows("external.xls").Activate
Sheets("Sheet3").Activate
Range("A5").Value = 5
End Sub
L'exécution de ce code, ouvre external.xls et active sa feuille 3. Cependant, la Valeur de 5 est placé dans internal.xls et pas external.xls. Comment puis-je m'assurer que les modifications sont apportées à l'autre de la feuille de calcul?
OriginalL'auteur Ali | 2011-07-25
Vous devez vous connecter pour publier un commentaire.
La réponse est Oui.
Essayez le code suivant à apporter des modifications à external.xls:
J'ai ajouté
ActiveWorkbook.
à la ligne 4.Ce doit être ajouté à apporter des changements dans le classeur actif (external.xls) et de ne pas le classeur contenant et de l'exécution de la macro
(internal.xls)
La dernière phrase n'est pas correcte. Et cette pratique n'est pas sans danger, comme @Luuklag référencé.
OriginalL'auteur DKSan
Je préfère utiliser:
Comme indiqué par d'autres, les divers
Activate
instructions sont plus gênant qu'utile ici.OriginalL'auteur Patrick Honorez
Vous n'avez pas besoin de faire tout cela en cours d'activation. Il n'est de provoquer clignotement de l'écran et les délais de traitement.
OriginalL'auteur Jon Peltier