Спасибо всем большое! Я тоже нашла все таки вариант:
Sub Tst()
Dim x As Integer
Dim Found, obj
x = 2
While (Worksheets("Общий").Cells(x, 5) <> Empty)
Found = False
For Each Worksheet In Worksheets
If Worksheets("Общий").Cells(x, 5) = Worksheet.name Then
Found = True
retval = CopyPaste(Worksheet.name, x)
Exit For
End If
Next
If Found = False Then
Worksheets.Add After:=Worksheets("Общий")
Sheets(2).name = Worksheets("Общий").Cells(x, 5).Value
retval = CopyPaste(Sheets(2).name, x)
End If
x = x + 1
Wend
End Sub
Function CopyPaste(name As String, num As Integer)
Dim x As Integer
x = 1
While (Worksheets(name).Cells(x, 1) <> Empty)
x = x + 1
Wend
Worksheets("Общий").Activate
Range(Cells(num, 2), Cells(num, 6)).Select
Selection.Copy
Worksheets(name).Activate
Worksheets(name).Range(Cells(x, 2), Cells(x, 6)).Select
With Worksheets(name)
.Range(Cells(x, 2), Cells(x, 6)).PasteSpecial Paste:=xlPasteColumnWidths
.Paste Destination:=Range(Cells(x, 2), Cells(x, 6))
End With
Cells(x, 1) = x
End Function
Этот макрос работает, только если в книге этот лист стоит первым, может кому и это пригодиться...