Playing with this a bit more, rty perhaps:[VBA]Sub blah()
With ActiveWorkbook.Worksheets("Today")
With .Sort
.SortFields.Clear
.SortFields.Add Key:=Range("A5:A27"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.SetRange Range("A4:F27")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Set SecondRange = .Range(.Range("A4"), .Range("A4").End(xlDown)).Resize(, 6)
With .Sort
.SortFields.Clear
.SortFields.Add Key:=Range("B5"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.SortFields.Add Key:=Range("C5"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.SortFields.Add Key:=Range("D5"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.SetRange SecondRange
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End With
End Sub
[/VBA]