2017-08-09 6 views
1

J'ai recherché dans plusieurs publications comment copier une feuille dans un autre classeur. Dans tous les cas, les noms des feuilles sont connus.Comment copier des feuilles consécutives dans Excel à l'aide de VBA

Si je suis sur la feuille en cours, comment puis-je créer un vba qui copie la feuille actuelle et les 2 prochaines feuilles consécutives dans un nouveau classeur. Les noms des feuilles changent toutes les semaines, donc le programme doit choisir la feuille active en cours et les 2 feuilles suivantes seulement. Merci de votre aide.

+1

double possible de [Comment copier des feuilles à un autre classeur à l'aide vba?] (Https://stackoverflow.com/questions/6863940/how-to-copy-sheets-to-another-workbook-using- vba) –

Répondre

0

Le code ci-dessous suffirait à votre besoin. Assurez-vous simplement d'être à la troisième feuille du classeur lors de l'exécution.

Option Explicit 
Sub copyConsecutiveSheets() 
Dim x As Integer 
Dim k As Integer 
Dim j As Integer 
Dim b As String 

x = 1 
k = ActiveSheet.Index 

ThisWorkbook.Sheets(k).COPY 
For j = 1 To 2 
b = ActiveWorkbook.Name 
ThisWorkbook.Sheets(k + j).COPY After:=Workbooks(b).Worksheets(x) 
x = x + 1 
Workbooks(b).Activate 

Next 

End Sub