Te anexo la macro con las características que necesitas
Sub Separar_Datos()
'Por Dante Amor
'
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.StatusBar = False
Set l1 = ThisWorkbook
Set h1 = Sheets("Hoja1") 'hoja con datos
Set h2 = Sheets("temp") 'hoja temporal
col = "A" 'columna clave
ucol = "K" 'ultima columna de datos
n = Columns(col).Column
h2.Cells.Clear
If h1.AutoFilterMode Then h1.AutoFilterMode = False
'
u1 = h1.Range(col & Rows.Count).End(xlUp).Row
h1.Range(col & 5 & ":" & col & u1).Copy h2.[A1]
u2 = h2.Range("A" & Rows.Count).End(xlUp).Row
h2.Range("A1:A" & u2).RemoveDuplicates Columns:=1, Header:=xlYes
'
ruta = l1.Path & "\"
u2 = h2.Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To u2
Application.StatusBar = "Generando archivo " & i - 1 & " de " & u2 - 1
clave = h2.Cells(i, "A")
If h1.AutoFilterMode Then h1.AutoFilterMode = False
h1.Copy
Set l2 = ActiveWorkbook
Set h21 = l2.Sheets(1)
h21.Cells.ClearContents
'
u1 = h1.Range(col & Rows.Count).End(xlUp).Row
h1.Range("A5:" & ucol & u1).AutoFilter Field:=n, Criteria1:=clave
u1 = h1.Range(col & Rows.Count).End(xlUp).Row
h1.Range("A1:" & ucol & u1).Copy h21.[A1]
l2.SaveAs ruta & clave, FileFormat:=xlOpenXMLWorkbook
l2.Close
Next
If h1.AutoFilterMode Then h1.AutoFilterMode = False
Application.ScreenUpdating = True
Application.StatusBar = False
MsgBox "Archivos creados"
End Sub
.
.