Try
Sub Split_Data_in_workbooksx()
Dim data_sh As Worksheet, setting_Sh As Worksheet, i As Integer
Application.ScreenUpdating = False
Set data_sh = ThisWorkbook.Sheets("Data")
Set setting_Sh = ThisWorkbook.Sheets("Settings")
''''' Get unique supervisors
setting_Sh.Range("A:A").Clear
data_sh.AutoFilterMode = False
data_sh.Range("B:B").Copy setting_Sh.Range("A1")
setting_Sh.Range("A:A").RemoveDuplicates 1, xlYes
Sheets.Add Sheets(1)
With Sheets(1)
For i = 2 To Application.CountA(setting_Sh.Range("A:A"))
data_sh.Cells(1).CurrentRegion.Copy .Cells(1)
With .Cells(1).CurrentRegion
.AutoFilter 2, "<>" & setting_Sh.Range("A" & i).Value
.Offset(1).EntireRow.Delete
.AutoFilter
.Columns.ColumnWidth = 15
End With
.Copy
With ActiveWorkbook
.Sheets(1).Name = setting_Sh.Range("A" & i).Value
.SaveAs setting_Sh.Range("H6").Value & "/" & setting_Sh.Range("A" & i).Value & ".xlsx"
.Close False
End With
Next
Application.DisplayAlerts = False
.Delete
Application.ScreenUpdating = True
End With
setting_Sh.Range("A:A").Clear
MsgBox "Done"
End Sub
Bookmarks