Copier une feuille et obtenir la feuille résultante de l'objet?

Est-il facile/court façon d'obtenir de l'Excel.objet de feuille de calcul de la nouveau feuille que vous obtenez lorsque vous copiez une feuille de calcul?

ActiveWorkbook.Sheets("Sheet1").Copy after:=someSheet

Il s'avère que le .Copie de la méthode retourne un Booléen à la place d'un objet de feuille de calcul. Sinon, j'aurais pu faire:

set newSheet = ActiveWorkbook.Sheets("Sheet1").Copy after:=someSheet    <-- doesn't work

Donc, j'ai écrit quelques 25 lignes de code pour obtenir l'objet (liste de toutes les feuilles avant de la copier, de la liste de toutes les feuilles après, et comprendre que l'on est dans la dernière liste seulement. Tous très longue dans VBA), mais je suis à la recherche d'une plus élégant, plus court de solution.

  • Êtes-vous de la copie vers un nouveau classeur, ou dans le même classeur?
  • dans le même classeur
  • "Si vous ne spécifiez pas que ce soit Avant ou Après, Microsoft Excel crée un nouveau classeur qui contient la feuille copiée." -- msdn.microsoft.com/en-us/library/ff837784.aspx. Donc, spécifiez avant ou après, et si oui, pourquoi êtes-vous eu des problèmes?
  • Je ne utilisez un after:= j'avais oublié mon code pour le rendre plus court, et il n'était pas au courant de l'implication (qui n'est pas vraiment pertinent, en fait). J'ai édité ma question.
  • Bien sûr, il est pertinent, voir @Tim réponse.
  • yep, je comprends maintenant... 🙂

InformationsquelleAutor Rabarberski | 2011-10-07