Sub Sample4()
With ActiveSheet.Sort.SortFields
.Clear
.Add Key:=Range("C2")
End With
With ActiveSheet.Sort
.SetRange Range("A2:C10")
.Header = xlNo
.Apply
End With
End Sub
A列の日付を降順で並べ替えるには、次のようにします。
Sub Sample5()
With ActiveSheet.Sort.SortFields
.Clear
.Add Key:=Range("A2"), Order:=xlDescending
End With
With ActiveSheet.Sort
.SetRange Range("A2:C10")
.Header = xlNo
.Apply
End With
End Sub
次は、色で並べ替えます。下図の表は、C列に条件付き書式を設定しています。
この表を、C列を基準として、青色が上、赤色が次に並べ替えます。
Sub Sample6()
Dim Color1 As Long, Color2 As Long
Color1 = Range("C2").FormatConditions(1).Interior.Color
Color2 = Range("C2").FormatConditions(2).Interior.Color
With ActiveSheet.Sort.SortFields
.Clear
.Add( _
Key:=Range("C2"), _
SortOn:=xlSortOnCellColor).SortOnValue.Color = Color1
.Add( _
Key:=Range("C2"), _
SortOn:=xlSortOnCellColor).SortOnValue.Color = Color2
End With
With ActiveSheet.Sort
.SetRange Range("A2:C10")
.Header = xlNo
.Apply
End With
End Sub