前回は 昇順(小さい順・あいうえお順) の並び替えを解説しました。
今回は逆に 降順(大きい順・わおえうい順) に並び替える方法を紹介します。
1. 降順に並び替える基本構文
VBAで降順に並び替えるには、Order1:=xlDescending
を指定します。
Range("並び替え範囲").Sort _
Key1:=Range("基準列"), _
Order1:=xlDescending, _
Header:=xlYes
- Order1:=xlDescending
降順(大きい順・アルファベット逆順)
2. 実用例:売上金額を降順に並び替える
以下のようなデータを「売上金額(B列)」で降順に並び替える例です。
商品名 | 売上金額 |
---|---|
りんご | 300 |
みかん | 120 |
バナナ | 500 |
ぶどう | 250 |
VBAコード
Sub 売上降順に並び替え()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")
'売上金額を基準に降順ソート
ws.Range("A1:B5").Sort _
Key1:=ws.Range("B2"), _
Order1:=xlDescending, _
Header:=xlYes
End Sub
3. コード解説
Range("A1:B5")
データ全体(見出しを含む範囲)を指定しています。Key1:=ws.Range("B2")
並び替え基準は「B列(売上金額)」です。Order1:=xlDescending
降順(大きい順)に並び替える指定です。Header:=xlYes
先頭行(A1:B1)を見出しと認識させ、並び替え対象から除外します。
4. 実行結果
商品名 | 売上金額 |
---|---|
バナナ | 500 |
りんご | 300 |
ぶどう | 250 |
みかん | 120 |
売上金額が大きい順に並び替えられました。
5. 補足:文字データを降順に並び替えた場合
例えば「商品名(A列)」で降順に並べると、アルファベットや五十音の逆順になります。
ws.Range("A1:B5").Sort _
Key1:=ws.Range("A2"), _
Order1:=xlDescending, _
Header:=xlYes
この場合、文字列は「わ行 → あ行」の順に並びます。
6. まとめ
- 降順ソートは
Order1:=xlDescending
を指定するだけ - 数値なら「大きい順」、文字なら「逆順」で並び替え可能
Header
の指定を忘れずに!
この降順の使い方を覚えると、ランキング表や上位データの抽出に便利です。
コメント