Следующий код должен скопировать все рабочие листы (за исключением последних 2) из книги под названием PCReport в новую книгу под названием Insp &.Копирование нескольких листов в другую книгу
Он падает на линии
Workbooks(xWkb).Sheets(sheet.Name).Copy after:=Workbooks(tgtWkb).Sheets(x)
Ошибка ошибки во время выполнения 424, объект, необходимый.
х = 1, всего = 10, xWkb = "PCReport.xlsm", tgtWkb = "Insp25112015.xls"
Dim total As Integer
Dim NewWkb As Workbook
Dim xWs As Worksheet
Dim xWkb As String
Dim tgtWkb As String
Dim i As Integer
xWkb = "PCReport.xlsm"
Set NewWkb = Workbooks.Add
'ActiveWorkbook.SaveAs "C:\Users\Carol\Desktop\Insp" & Format(Date, "ddmmyyyy") & ".xls"
ActiveWorkbook.SaveAs "C:\Users\Carol.Hedges\Insp" & Format(Date, "ddmmyyyy") & ".xls"
tgtWkb = ActiveWorkbook.Name
total = Workbooks(xWkb).Worksheets.Count
i = 1
For x = 1 To total - 2
Workbooks(xWkb).Sheets(sheet.Name).Copy after:=Workbooks(tgtWkb).Sheets(x)
i = i + 1
Next
Откуда взялась переменная x, я думаю, вы используете переменную 'i'? –
Что такое 'sheet'' sheet.Name'? Вы не заявляете об этом. –
изменить строку на «Рабочие книги (xWkb). Таблицы (x). Копировать после: = Рабочие книги (tgtWkb). Таблицы (x)'. примечание: использование индекса может быть сложным, возможно, лучше всего соединить все листы и добавить условие, чтобы избежать двух последних листов по имени. Примечание 2: какая переменная i используется для?, Используйте Option Explicit, некоторые переменные не объявлены. –