You'll need something like this
Code:
Private Sub ColorSort()
Dim x As Integer, iInsertedRows As Integer
x = Range("A1").End(xlDown).Row
For x = x To 1 Step -1
If Cells(x, 1).Interior.ColorIndex = 3 Then '3 is standard red color
Rows(x).Cut
Rows("1:1").Insert Shift:=xlDown 'paste the cut row back as row 1
x = x + 1 'we've just moved everything down a row
iInsertedRows = iInsertedRows + 1
If iInsertedRows = x Then Exit For 'we don't need to sort the ones we put there
End If
Next
End Sub
It's basic, but it works. There's plenty of scope for for customisation ;)
HTH Chris
There are two secrets to success in this world:
1. Never tell everything you know