VBA: activer/de la sélection d'une feuille de calcul/la ligne/cellule

Bonjour Stackoverflowers,

Je suis en train d'utiliser un bouton, qui va d'abord vers un autre fichier excel dans un répertoire spécifique. Lors de l'exécution de quelque chose, je veux ajouter une ligne dans une feuille du fichier excel, je fais tourner le bouton de.
Pour ce faire, j'ai besoin d'activer un certain rang, ou de cellules à utiliser ce

ActiveCell.EntireRow.Insert

mais il continue à me dire:

activate method of range class failed

mon dernier trail: le

Sheet1.Cells(2, 3).Activate
ActiveCell.EntireRow.Insert

Quelqu'un peut-il me dire comment obtenir ce fait? je pense que parce que je suis dans un autre classeur ou quelque chose

Grâce

  • Êtes-vous activer le classeur en premier?
  • Essayez La Feuille Sheet1.Les cellules(2,3).EntireRow.Insérer. Sinon, essayez l'Application.GoTo La Feuille Sheet1.Les cellules(2,3)
  • Ok, re-lire, essayez @Barranka suggestion du premier.
  • Je ne pouvais pas activer le classeur, pouvez vous me dire comment? je vais essayer les autres solutions pour le moment
  • qui a travaillé! j'ai été en utilisant cette aussi (ancien code que j'ai essayé): Sheets("Feuil1").Les lignes(2).Insérer, ne fonctionne pas trop
  • dim openedWorkbook comme Classeur. ensemble openedWorkbook = classeurs.open("path"). openedWorkbook.activer.
  • Heureux de vous aider 🙂
  • Je l'ai utilisé que pour ouvrir un autre fichier. suggérez-vous que je le fais pour mon fichier excel d'origine pour y retourner?
  • Juste une chose: je pense que vous devriez utiliser Cells(2,3).Select au lieu de Cells(2,3).Activate
  • hmmmm, je ne suis pas expert, mais pouvez-vous me dire pourquoi? alors je peux comprendre pour la suite 🙂
  • Je suggère que vous utilisez ce code pour ouvrir/activer votre nouveau classeur. Vous pouvez utiliser les Classeurs("filename.xls").Activer pour activer un classeur ouvert.
  • Pourquoi utilisez-vous activer en premier lieu? Vous ne réalisez que vous n'avez pas besoin de sélectionner ou activer ni le classeur ou de la cellule, à insérer des cellules, à droite?
  • + 1 @Reafidy pour le seul qui a suggéré de ne pas utiliser .Activate -@himura: Veuillez consulter ce lien: stackoverflow.com/questions/10714251/...
  • oui j'ai bien compris. Le truc, c'est que tous les exemples que j'ai vu sur le net pour ajouter des lignes utilise activer ou de sélectionner... et depuis je suis encore nouveau pour VBA, je ne pouvais pas comprendre la torsion et je voulais aller le plus près les exemples
  • Je comprends. Cependant, la façon correcte est d'éviter d'utiliser sélectionner/activer. Seulement une ou deux fois et je n'ai jamais trouvé un motif légitime d'utiliser sélectionner/activer. L'apprentissage de la bonne façon maintenant, vous fera économiser des tonnes de maux de tête, il suffit de prendre un coup d'oeil à la deuxième section de Barranka du code si vous ne l'avez pas déjà.

InformationsquelleAutor himura | 2012-10-04