J'ai une macro enregistrée que j'ai essayé de simplifier en obtenant un certain nombre d'instructions activate et select sur une seule ligne, mais cela entraîne une erreur d'exécution.Excel VBA - erreur d'exécution 1004 lors de la simplification du code enregistré
Ce n'est pas un problème critique, mais je suis simplement curieux de comprendre ce qui se passe. Ceci est mon extrait de code initial (il est précédé d'un extrait de copie dans la procédure):
ThisWorkbook.Activate
Sheets("MS Act Report").Select
Range("G1").Select
ActiveSheet.Paste
ceci est mon code simplifié:
ThisWorkbook.Activate
Sheets("MS Act Report").Range("G1").Select
ActiveSheet.Paste
Lorsque vous exécutez ce que j'obtenir un
runtime error '1004': Select method of Range class failed
Vous ne pouvez sélectionner des plages sur la feuille active. Si "MS Act Report" n'est pas la feuille active, vous ne pouvez pas exécuter une commande .select par rapport à ses cellules. – vacip
Vous n'avez pas besoin de sélectionner quand même: 'ThisWorkbook.Sheets (" MS Act Report "). Range (" G1 "). PasteSpecial' – Rory
@vacip - merci. Donc, en utilisant les commandes de sélection séparées, la feuille est activée mais ce n'est pas le cas si je l'ai sur une ligne. – doterfish