VBAでもセルの並び替えはできます。
今回はもっとも基本的なデータの並び替えの方法をご紹介します。
基本的なデータの並び替え
データの並び替えには「Sort」メソッドをつかいます。
オブジェクト.Sort _
Key1:=(並替の基準セル),Order1:=(「xlAscending」か「xlDescending」)
Header:=(3つの内いずれか記入「xlYes」「xlNo」「xlGuess」)
引数の内容はこちらです。
引数 | 値 | 内容 |
Order | xlAscending | 昇順 |
Order | xlDescending | 降順 |
Header | xlYes | 先頭行は見出し |
Header | xlNo | 先頭行は見出しではない |
Header | xlGuess | 先頭行をExcelが判断 |
それでは具体例をつかってご説明をします。
2列ありますのでそれぞれを「昇順」で並び替えたいと思います。
こちらが並び替えのコードです。
Sub test_sort() Range("A1:B11").Sort _ Key1:=Range("A1"), Order1:=xlAscending, _ Key2:=Range("B1"), Order2:=xlAscending, _ Header:=xlYes End Sub
「Key2」や「Order2」のように、番号をつかって条件を複数設定することもできます。
コードも文章とおなじで長くて読みにくいときは改行をします。改行をするときは「 _」(スペースのあとにアンダーバー)を記述したうえで、次の行から書きはじめます。
こちらが実行結果です。
A列とB列が「昇順」となっていることが確認できます。
まとめ
今回はもっとも基本的なデータの並び替えの方法をご紹介しました。
オートフィルターなどをつかえばマクロでなくても設定ができますが、ある程度の頻度ならこちらをつかってみてはいかがでしょうか。
並び替えには他の方法もありますが、まずはもっともシンプルな方法をおさえておきましょう。