ExcelのVBA・マクロで一覧表を降順で並べ替える方法

ここでは、ExcelのVBA・マクロで一覧表を降順で並べ替える方法を紹介します。

ExcelのVBA・マクロで一覧表を降順で並べ替えるには、Sortを使います。

<サンプル>

Sub test34()
‘表の書式設定
Range(“A1:C1”).Interior.Color = rgbYellow
Range(“A1:C1”).Font.Color = rgbRed
Range(“A1:C1”).HorizontalAlignment = xlCenter
Range(“A1:C7”).Borders.Weight = xlThin
Range(“A1:C7”).Font.Name = “Meiryo UI”
Range(“A1:C7”).Font.Size = 12

‘表のデータ
Range(“A1”).Value = “グループ”
Range(“B1”).Value = “名前”
Range(“C1”).Value = “点数”
Range(“A2”).Value = “A”
Range(“A3”).Value = “B”
Range(“A4”).Value = “C”
Range(“A5”).Value = “A”
Range(“A6”).Value = “B”
Range(“A7”).Value = “C”
Range(“B2”).Value = “高橋”
Range(“B3”).Value = “鈴木”
Range(“B4”).Value = “田中”
Range(“B5”).Value = “松井”
Range(“B6”).Value = “野村”
Range(“B7”).Value = “谷重”
Range(“C2”).Value = 30
Range(“C3”).Value = 50
Range(“C4”).Value = 60
Range(“C5”).Value = 80
Range(“C6”).Value = 90
Range(“C7”).Value = 100

‘点数の降順でソート
Range(“A1”).Sort Key1:=Range(“C2”), Order1:=xlDescending, Header:=xlYes

End Sub

Range(“A1”).Sort Key1:=Range(“C2”), Order1:=xlDescending, Header:=xlYes」で一覧表のソートをしています。

まず、表の一番左端のセルを選択し、表全体を対象にソートをかけます。

Key1:=Range(“C2”)」でC列の値でソートするよう指示します。「Order1:=xlDescending」で降順、「Header:=xlYes」で1行目はヘッダー行でありソートから除外するよう引数を指定しておきます。

これで点数の降順でソートされます。

昇順でソートしたい方はこちらを参考にしてください。
>>ExcelのVBA・マクロで一覧表を昇順で並べ替える方法