This should get you a start. Be sure you have headings on PROC before running it.
Option Explicit
Dim ws As Worksheet, rw As Long, prw As Long
Sub MoveData()
Application.ScreenUpdating = False
Sheets("PROC").Select
prw = Cells(Rows.Count, 4).End(xlUp).Row
' Clear previous values
If prw > 1 Then
Rows("2:" & prw).Delete
End If
prw = 2
' Process sheets with 3-character names
For Each ws In ActiveWorkbook.Worksheets
With ws
If Len(.Name) = 3 Then
rw = .Cells(.Rows.Count, 4).End(xlUp).Row
.Rows("2:" & rw).Copy Destination:=Cells(prw, 1)
prw = prw + rw - 1
End If
End With
Next
' Sort by Processor
prw = Cells(Rows.Count, 4).End(xlUp).Row
With ActiveSheet.Sort
.SortFields.Clear
.SortFields.Add Key:=Range("D2"), Order:=xlAscending
.SetRange Range("A2:AB" & prw)
.Header = xlNo
.Orientation = xlTopToBottom
.Apply
End With
' Delete blank rows, if any
rw = Cells(Rows.Count, 4).End(xlUp).Row + 1
If prw > rw Then
Rows(rw & ":" & prw).Delete
End If
' Add blank rows
prw = 3
Do Until Cells(prw, 4).Value = ""
If Cells(prw, 4).Value <> Cells(prw - 1, 4).Value Then
Rows(prw).Insert
Rows(prw).Interior.Color = 1
prw = prw + 1
End If
prw = prw + 1
Loop
End Sub
Bookmarks