Podrías intentar con:
Sub Partición_en_Libro()
Dim ws As Worksheet, LR&, i&, Txt$
Const qRow As Integer = 5000, qCol As Integer = 18
Application.ScreenUpdating = False
Set ws = ActiveSheet
LR = ws.Cells(Rows.Count, "a").End(xlUp).Row
Workbooks.Add xlWBATWorksheet
Columns.ColumnWidth = 1.32
With ws.[a1].Resize(, qCol)
.Offset(1).Copy: Range(.Address).EntireColumn.PasteSpecial xlPasteFormats
.Copy [a1]: [a1].Select
End With
For i = 2 To LR Step qRow
Txt = Format(i - 1, "0000") & "-" & Format(i + qRow - 2, "0000")
Application.StatusBar = "--> " & Txt
ActiveSheet.Name = Txt
[a2].Resize(qRow, qCol) = ws.Cells(i, "a").Resize(qRow, qCol).Value
[a1].CurrentRegion.Columns.AutoFit
Txt = ThisWorkbook.Path & "\" & Txt & ".xlsx"
If Dir(Txt) <> "" Then Kill Txt
ActiveWorkbook.SaveAs Txt, FileFormat:=xlOpenXMLWorkbook
Next
ActiveWorkbook.Close False
Application.StatusBar = False
Application.ScreenUpdating = True
End Sub
¿Te va?...