『たった1秒で仕事が片づくExcel自動化の教科書』(技術評論社)にて、
紙面の都合で書けなかった詳細をこちらで解説します。
■4つ以上の列で並べ替えをする方法
並べ替えを行うSortメソッドで並べ替えの基準として指定できる列は3つまでですが、4つ以上の列を指定したい場合は少し工夫をします。
例えばA列からE列までのデータがあって、項目名は1行目にあるデータにおいて、
最優先するキーにA1セル
次に優先するキーにB1セル
次に優先するキーにC1セル
次に優先するキーにD1セル
次に優先するキーにE1セル
つまりA列>B列>C列>D列>E列という優先順位で、すべて昇順で並べ替えたい場合。
こういう場合は、優先順位の低いほうから三つずつ順番に指定して並べ替えを実行していくという工夫をします。
Sub sample() Range("A1").Sort key1:=Range("C1"), order1:=xlAscending, _ key2:=Range("D1"), order2:=xlAscending, _ key3:=Range("E1"), order3:=xlAscending, Header:=xlYes Range("A1").Sort key1:=Range("A1"), order1:=xlAscending, _ key2:=Range("B1"), order2:=xlAscending, Header:=xlYes End Sub |
これで、A列>B列>C列>D列>E列という優先順位で並べ替えが行われます。
『たった1秒で仕事が片づく Excel自動化の教科書』執筆陣が自ら直接指導。
実務直結・一日集中・受講後無期限サポート付きのマクロVBAセミナー