|
Sub TEST()
Dim i&, j%, xD, xS As Worksheet, xArea As Range, T$
Set xS = Sheets("Sheet1")
Set xArea = Range(xS.[W1], xS.Cells(Rows.Count, 1).End(3))
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For i = Sheets.Count To 2 Step -1
Sheets(i).Delete
Next i
Set xD = CreateObject("Scripting.Dictionary")
For i = 2 To xArea.Rows.Count
T = xArea(i, 23)
If T = "" Or Val(xD(T)) > 0 Then GoTo 101 Else xD(T) = 1
With Sheets.Add(after:=Sheets(Sheets.Count))
.Name = T
xArea.AutoFilter Field:=23, Criteria1:=T
xArea.Copy .[A1]
For j = 1 To 23
.Cells(1, j).ColumnWidth = xArea(1, j).ColumnWidth
Next j
End With
101: Next i
xS.Select: xS.ShowAllData
End Sub
原汁原味的格式設置~~
|
|