Sub deviceNewSheet()
Dim LastRow As Long, LastCol As Integer, i As Long, iStart As Long, iEnd As Long
Dim ws As Worksheet
Application.ScreenUpdating = False
With ActiveSheet
LastRow = .Cells(Rows.Count, "U").End(xlUp).Row
LastCol = .Cells(10, Columns.Count).End(xlToLeft).Column
.Range(.Cells(10, 2), .Cells(LastRow, LastCol)).Sort Key1:=.Range("U10"), Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
iStart = 2
For i = 2 To LastRow
If .Range("U" & i).Value <> .Range("U" & i + 1).Value Then
iEnd = i
Sheets.Add after:=Sheets(Sheets.Count)
Set ws = ActiveSheet
On Error Resume Next
ws.Name = .Range("U" & iStart).Value
On Error GoTo 0
.Range(.Cells(1, 1), .Cells(10, LastCol)).Copy Destination:=ws.Range("A1")
With ws.Rows("1:10")
.HorizontalAlignment = xlCenter
With .Font
.ColorIndex = 5
.Bold = True
End With
End With
.Range(.Cells(iStart, 1), .Cells(iEnd, LastCol)).Copy Destination:=ws.Range("A11")
iStart = iEnd + 1
End If
Next i
End With
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub