VBA erreur d'Exécution '9': Indice hors de portée, en essayant d'en activer un autre classeur
Je suis en train de créer un VBA dans Excel 2010 qui prend des infos à partir d'une autre feuille de calcul que je ne suis pas autorisé à modifier et de le ramener à la feuille de calcul avec ma macro intégré. Voici mon code:
Sub BringUpWorkbook()
Workbooks("RITE 1624.xls").Activate
End Sub
J'ai plusieurs VBA livres, ont visité des dizaines de sites sur l'Internet, y compris ceux qui sont ici à stackoverflow.com et ne peut pas trouver une raison pour laquelle je reçois le message d'erreur d'exécution. Le classeur est déjà ouvert, j'ai essayé d'ajouter tout de fuite le titre, j'ai essayé de supprimer les .xls
, j'ai même fait tous les ci-dessus avec dans une variable. Des idées?
Boucle à travers la collection de classeurs et de débogage.imprimer leur nom à la propriété.
Vous ne savez pas comment le faire. Regardé plusieurs
Vous ne savez pas comment le faire. Regardé plusieurs
debug.print
exemples et je ne comprends pas comment le faire avec mon exemple ci-dessus.
OriginalL'auteur Lou | 2013-08-12
Vous devez vous connecter pour publier un commentaire.
Assurez-vous que l'extension est correcte. Si c'est une excel-2010 fichier, comme vous l'indiquez, vous devez mettre à jour votre code pour tenir compte de l'extension de votre "RITE " 1624" fichier (par exemple .xlsx pour l'année 2010, un classeur Excel .xlsm pour l'année 2010, un classeur Excel macro-enabled, ou quelle que soit l'extension est.
EDIT:
À assurez-vous d'avoir le bon nom du classeur, vous pouvez imprimer le nom de chaque classeur dans une fenêtre d'exécution.
Ouvrir l'éditeur VBA, puis appuyez sur Ctrl+G pour ouvrir la Fenêtre d'exécution (ou Affichage > fenêtre d'exécution). Puis exécutez la Macro suivante:
Noter que ce sera vous donner les noms de tous les classeurs ouverts dans la même instance d'Excel que votre macro. Si votre RITE 1624 fichier est dans une autre instance d'Excel, puis l'instance que votre macro est dans la volonté de ne pas être en mesure de voir ce fichier (et il ne s'affiche pas dans la sortie de la OpenWkbkNames code ci-dessus). La façon la plus simple de résoudre ce problème consiste à ouvrir tous vos fichiers nécessaires à partir de l'instance Excel qui contient votre macro.
.xls
fichier et je ne peux pas faire les mises à jour ou des modifications. Malheureusement, de nombreux exemples sur Internet sont pour Excel 2003 et 2007, ainsi sont mes VBA livres. La société où je travaille juste mis à jour pour 2010, donc je n'ai pas trop le choix.désolé pour la confusion, je voulais dire de modifier l'extension que vous utilisez dans votre code, pas l'extension du fichier d'origine. Néanmoins, je voudrais prendre l'avis de @Tarik et debug/imprimer les noms des fichiers, et Si cela fonctionne comme prévu, vous aurez besoin de faire d'un caractère par caractère vérifier.
Je l'ai essayé. Vous ne savez pas comment utiliser
debug.print
. Il ne m'a pas donné une pop up ou de quoi que ce soit...à l'exception de l'exécution de pop up que je reçois. Pouvez-vous m'indiquer dans votre exemple de comment vous pouvez utiliserdebug.print
?Ok...je suis entré votre code dans un nouveau rédacteur en chef et il a déclaré que le classeur que j'ai mis le code en est le seul classeur ouvert, mais j'en ai 7 de les ouvrir pour diverses raisons. J'ai également eu à Dim Classeur en tant Que Variante pour le code ci-dessus pour l'exécuter. C'était censé arriver?
Doit avoir été une erreur informatique. J'ai arrêté, redémarré, et j'ai essayé votre code à nouveau. CETTE fois, cela a fonctionné. Merci.
OriginalL'auteur Jaycal