Sub Demo1()
Dim V, W, Ws As Worksheet
V = Evaluate("TRANSPOSE(ROW(1:" & Sheet2.Index - 1 & "))")
With Application
.DisplayAlerts = False
.ScreenUpdating = False
For Each W In Sheet2.UsedRange
Worksheets(V).Copy
For Each Ws In ActiveWorkbook.Worksheets
With Ws.[A2].CurrentRegion.Rows("2:" & Ws.[A2].CurrentRegion.Rows.Count)
.Columns(1).AutoFilter 1, "<>" & W
If Application.Subtotal(103, .Columns(1)) > 1 Then .Item("2:" & .Count).Delete
.AutoFilter
End With
Next
ActiveWorkbook.SaveAs Path & "\Output - " & W, 50
ActiveWorkbook.Close
Next
.Speech.Speak "Done!", True
.DisplayAlerts = True
.ScreenUpdating = True
End With
End Sub