Excel VBA de la Feuille de calcul.Copie D'Après Excel 2013

Je veux copier une feuille de calcul et le placer DIRECTEMENT après une autre feuille. Mais j'ai de la difficulté quand il y a des feuilles masquées impliqués.

À l'aide d'Excel 2013-je ouvrir un nouveau classeur.
Ajouter une Feuille après "Feuil1". Renommez-le en "HiddenSheet2"
Ajouter une Feuille après "HiddenSheet2". Renommez la nouvelle feuille "Feuil3"
J'ai donc "Sheet1" - "HiddenSheet1" - "Feuil3"
Puis cacher "HiddenSheet1"

De la prochaine exécution de ce Code VBA:

Sub test()
Dim ws1 AS Worksheet
Set wst = Sheets("Sheet1")
wst.Copy After:=Sheets(wst.Index)
End Sub

L'insertion de la feuille placés après "HiddenSheet2" et non pas après "Feuil1".
J'ai trouvé que la feuille copiée devient la feuille active.

Obtenir une Poignée sur la dernière feuille de calcul copié par de la Feuille de calcul.Copie

VBA Copier une Feuille à la Fin du Classeur (avec des Feuilles de calcul)

Mais mon problème est que j'ai besoin de la feuille de rester dans un ordre spécifique.

Grâce

Edit:

Sub test()
Dim ws1 AS Worksheet
Set wst = Sheets("Sheet1")
wst.Copy After:=Sheets(wst.Index)
ThisWorkbook.ActiveSheet.Move After:=Sheets(wst.Index)
End Sub

Ce n'est pas obtenir la nouvelle feuille directement après "Sheet1", soit.

  • Pourquoi ne pas utiliser wst.copy after:=wst?
  • Ce que @glh dit. Vous avez déjà wst comme une Feuille de calcul de la variable. Juste les utiliser pour l' After argument 🙂
  • wst.copy after:=wst et wst.copy after:=Sheets("Sheet1") produit les mêmes résultats. Ma nouvelle fiche d'obtenir lieu après le caché de la feuille, et non pas directement après "Sheet1"
  • Mais oui, il faire de plus que lors de l'utilisation wst.copy after:=wst
InformationsquelleAutor Jonathan | 2013-05-02