Как скопировать последовательные листы в Excel с помощью VBA

Я искал несколько сообщений о том, как скопировать лист в другую книгу. Во всех случаях имена листов известны.

Если я нахожусь на текущем листе, как я могу создать vba, который копирует текущий лист и следующие 2 последовательных листа в новую книгу. Имена листов меняются каждую неделю, поэтому программе нужно выбрать только текущий активный лист и следующие 2 листа. Спасибо за помощь.


person Teddy    schedule 09.08.2017    source источник


Ответы (1)


Код ниже будет достаточным для вашего требования. Просто убедитесь, что вы находитесь на 3-м последнем листе рабочей книги при ее запуске.

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
person Apurv Pawar    schedule 09.08.2017