Да, к вашему коду вопрос.
Я переделал под первый солбец, вместо пятого, и всего 40 стололбцов вместо 5, но не копируются заголовки.,
Код |
---|
Sub Split_to_Box()
Dim Unik: Set Unik = CreateObject("Scripting.Dictionary")
Dim i&, Kei$, a, Arr
Application.ScreenUpdating = False
With ThisWorkbook.Worksheets("Ëèñò1")
For i = 1 To .Cells(Rows.Count, 40).End(xlUp).Row
a = Split(.Cells(i, 1), "/")
Kei = a(UBound(a))
If Unik.Item(Kei) Then
.Range(.Cells(i, 1), .Cells(i, 40)).Copy Worksheets(Kei).Cells(Unik.Item(Kei), 1)
Unik.Item(Kei) = Unik.Item(Kei) + 1
Else
Sheets.Add After:=ActiveSheet
ThisWorkbook.ActiveSheet.Name = Kei
Unik.Item(Kei) = 1
.Range(.Cells(i, 1), .Cells(i, 40)).Copy Worksheets(Kei).Cells(Unik.Item(Kei), 1)
End If
Next
Arr = Unik.keys
For i = 0 To UBound(Arr)
Sheets(Arr(i)).Move
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & Arr(i), xlExcel8
ActiveWorkbook.Close SaveChanges:=True
Next
End With
Application.ScreenUpdating = True
End Sub
|