У меня есть исходный файл «Categories_by_Year.xlsm», где у меня есть листы на каждый год между 2010 и 2014 годами, содержащие разные категории и данные (по одной категории на столбец). Я хочу, чтобы каждый год создавалась новая рабочая книга, а каждая категория сохранялась как новый лист в файле. Первая строка каждого столбца - это имя категории, которое используется для новых имен рабочих листов. От строки 2 до последней не пустой строки - данные копируются и затем переносятся на новый рабочий лист.Цитирование через столбцы и создание рабочих листов, ошибка 1004
Когда я запускаю следующий код, создается файл и первый лист (первый столбец копируется и переносится в новый файл). Однако после этого я получил ошибку времени выполнения «1004». Я попытался начать с разных столбцов, и он по-прежнему бросает сообщение об ошибке после создания первого.
Sub NewShForEachCategory()
Dim LastRow As Double
For year = 2010 To 2014
Workbooks.Add
ActiveWorkbook.SaveAs Filename:="C:\" & CStr(year) & ".xls", FileFormat:=xlExcel8
Workbooks("Categories_by_Year.xlsm").Activate
For col = 1 To 35
If Not IsEmpty(Workbooks("Categories_by_Year.xlsm").Worksheets(CStr(year)).Cells(1, col)) Then
Category = Workbooks("Categories_by_Year.xlsm").Worksheets(CStr(year)).Cells(1, col).Value
LastRow = Workbooks("Categories_by_Year.xlsm").Worksheets(CStr(year)).Cells(Rows.Count, col).End(xlUp).Row
Workbooks("Categories_by_Year.xlsm").Worksheets(CStr(year)).Range(Cells(2, col), Cells(LastRow, col)).Copy
Workbooks(CStr(year) & ".xls").Activate
Workbooks(CStr(year) & ".xls").Worksheets.Add.Name = Category
Workbooks(CStr(year) & ".xls").Worksheets(Category).Cells(1, 1).PasteSpecial Transpose:=True
End If
Next col
Next year
End Sub
Где вы получите ошибку во время выполнения? Вы пробовали отлаживать, чтобы узнать, что происходит? –
Рабочие книги («Категории_by_Year.xlsm»). Рабочие листы (CStr (год)). Диапазон (ячейки (2, col), ячейки (LastRow, col)). Копировать – Pokemon
Указывает ли ошибка «ошибка времени выполнения» 1004 ' . "? – Davesexcel