2007からは色のソートがサポートされているが、複数の色を指定順/パレット順/コード順などで並べ替えてくれる訳ではなく、どうやら指定した色を上位に持ってくるだけのようだ。
以下に記録したコードを記載する。
Sub Macro1()
'
' Macro1 Macro
'
'
Range("K33").Select
ActiveWorkbook.Worksheets("xxxx").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("xxxx").AutoFilter.Sort.SortFields.Add(Range( _
"K21:K599"), SortOnFontColor, xlAscending, , xlSortNormal).SortOnValue.Color = _
RGB(255, 0, 0)
With ActiveWorkbook.Worksheets("xxxx").AutoFilter.Sort
.SetRange Range("C20:BU599")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
SortOnValue はヘルプでは見つからなかった。オブジェクトブラウザで調べるとはObject 型のプロパティだそうである。