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
etwst.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
Vous devez vous connecter pour publier un commentaire.
Code existant peut être ajouté
If (ActiveSheet.Index - wst.Index - 1) <> 0 Then Dim bVisible As Boolean bVisible = Sheets(wst.Index + 1).Visible Sheets(wst.Index + 1).Visible = True ActiveSheet.Move After:=wst Sheets(wst.Index + 2).Visible = bVisible End If
Est probable coffre-fort-à-dire leur a caché de la feuille que c'est la seule fois où c'est un problème, mais je vais enregistrer la Visibilité, juste au cas où Excel me lance pour une autre boucle.La propriété index est égal à zéro de la base, sauf si spécifié autrement. Les feuilles de la propriété est la base de l'un. Vous devez soit: