Try the below macro which would split the data to multiple sheets based on col A value..The sheets will be named after the value in ColA.
Sub SplitDatatoSheets()
Dim wsTarget As Worksheet, wsSource As Worksheet
Dim lngRow As Long, lngNewRow As Long
Set wsSource = ActiveSheet
For lngRow = 2 To wsSource.Cells(Rows.Count, "A").End(xlUp).Row
If Not SheetExists(CStr(wsSource.Range("A" & lngRow))) Then
Set wsTarget = Worksheets.Add(After:=Sheets(Sheets.Count))
wsTarget.Name = CStr(wsSource.Range("A" & lngRow))
Else
Set wsTarget = Sheets(CStr(wsSource.Range("A" & lngRow)))
End If
lngNewRow = wsTarget.Cells(Rows.Count, "A").End(xlUp).Row + 1
wsSource.Rows(lngRow).Copy wsTarget.Range("A" & lngNewRow)
Next
wsSource.Activate
End Sub
Function SheetExists(strSheetName) As Boolean
Dim ws As Worksheet
On Error Resume Next
Set ws = Sheets(strSheetName)
If Not ws Is Nothing Then SheetExists = True
End Function