artyrH, Спасибо большое за помощь! Работает.
Только есть один момент, в каждом вновь созданном документе в столбце А копируется список из первого документа. Я конечно дописал строку, чтоб его очищать, но может кто-то из форумчан поможет изначально избежать его создания.
А пока с этим костылем немного еще докрутил ваш код, отключил обновления экрана и добавил автоматическое определение заполненного диапазона
Код |
---|
Sub xls_v_papky()
Dim LastStr As Double
LastStr = Cells(1, 1).CurrentRegion.Rows.Count ' определяем номер последней заполненной строки
For i = 2 To LastStr
Application.ScreenUpdating = False
On Error Resume Next
Filename$ = "C:\Users\Desktop\офис\" & Sheets("Города").Cells(i, 1).Value
Err.Clear: ActiveSheet.Copy: DoEvents
Range("A:A").ClearContents 'очищаем первый столбец в созданной книге
If Err Then Exit Sub
ActiveWorkbook.SaveAs Filename, xlWorkbookDefault ' формат xlsx
' ActiveWorkbook.SaveAs Filename, xlOpenXMLWorkbookMacroEnabled ' формат xlsm с поддержкой макросов
ActiveWorkbook.Close False
Next
Application.ScreenUpdating = True
End Sub
|