VBA講座:4つ以上の列で並べ替えをする方法




たった1秒で仕事が片づく Excel自動化の教科書

『たった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セミナー



記事一覧に戻る

法人向けExcelオンライン研修

利用人数無制限・個別サポート付きのExcelオンライン研修です。

すごい改善のExcelセミナー

1日完結・実務直結・無期限サポートつきのExcelセミナー開催中

累計40万部突破のExcel教科書

Excel関数Tシャツ等のご購入はこちら