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学習法診断
  • 100の極意マスター講座
  • おすすめショートカット一覧・壁紙ダウンロード
  • オリジナルExcelグッズ
  • Twitter:吉田 拳@Excelすごい改善社長
  • Excelで業務効率化を実現!
  • Excelで業務効率化を実現!
  • 約1万人の業務効率を劇的に改善!Excel速技BEST100
  • 資金繰り予報士 こがねむしクラブ