EXCEL VBA データの並び替え Sort
EXCEL VBA データの並び替え Sort
●はじめに
ここでは、通常使うEXCELでも並び替え(Sort)は非常に便利ですが、 VBAでも並び替えを行う事ができます。データを見やすくするためには、並び替えが必要になります。ここで、データの並び替え(Sort)の使い方の説明をいたします。
EXCEL VBA データの並び替え
●プログラム説明(サンプル①)
それでは、ソート(Sort)の説明します。下記のサンプルリストを元に説明いたします。
ソート前とソート後の違いは、ソートの第1条件「得意先・昇順」第2条件の「日付・昇順」でソートを実行しています
ソート前とソート後の違いは、ソートの第1条件「得意先・昇順」第2条件の「日付・昇順」でソートを実行しています
●実行前 ※ソート前 (クリックして拡大)
●実行後 ※ ソート条件 第一条件:C列の得意先を昇順・第二条件:B列の日付を昇順で実行する結果です。
(クリックして拡大)
(クリックして拡大)
●プログラム説明
上記の表のように、ソートを実行するサンプルプログラムは、下記の通りになります。
1 2 3 4 5 6 7 8 |
Sub DataSort() Range("B3").CurrentRegion.Sort _ Key1:=Range("C3"), Order1:=xlAscending, _ Key2:=Range("B3"), Order2:=xlAscending, _ Orientation:=xlTopToBottom, Header:=xlGuess End Sub |
●上記プログラムのの詳細説明
行 | コード | 説明 |
1 | Range(“B3”).CurrentRegion.Sort _ | ソートを行う選択範囲を指定します。表の左上の(B3)セルを指定します。 |
2 | Key1:=Range(“C3”), Order1:=xlAscending, _ | ソート第1条件(Key1)の指定を行います。(C3)得意先を選択します。(Order)で昇順・降順を指定します。「昇順を指定」 |
3 | Key2:=Range(“B3”), Order2:=xlAscending, _ | ソート第2条件(Key2)の指定を行います。(B3)日付を選択します。(Order)で昇順・降順を指定します。「昇順を指定」 |
4 | Orientation:=xlTopToBottom, Header:=xlGuess | 行・列の並び替え指定および、データの先頭行は、見出しかどうかの指定 |
●ソートで使う定数の説明
昇順と降順の定義 | |
---|---|
昇順 | xlAscending |
降順 | xlDescending |
行・列の並び替え定義 | |
---|---|
行の並び替え | xlTopToBottom |
列の並び替え | xlLeftToRigth |
先頭行が見出しかどうかを示す定数 | |
---|---|
表の1行目が見出し | xlYes |
表の1行目が見出しではない | xlNo |
表の1行目が見出しか自動的に判断する | xlGuess |
●プログラム説明(サンプル②)
上記のソート(サンプル①)は、第1ソート条件と第2ソート条件の二つを指定していますが、ソート条件は、3つまで指定することができます。下記にサンプルとして3つの条件を指定した場合を記述しています。
1 2 3 4 5 6 7 8 9 10 11 |
Sub DataSort2() Range("B3").CurrentRegion.Sort _ Key1:=Range("C3"), Order1:=xlAscending, _ Key2:=Range("B3"), Order2:=xlAscending, _ key3:=Range("D3"), order3:=xlDescending, _ Orientation:=xlTopToBottom, Header:=xlGuess '第3ソート条件まで指定しました。 End Sub |
最後まで、ご覧いただきまして誠に有難うございました。
ソートの説明は以上です。ソートは便利な機能なので、「ソートで使う定数の説明」を参考に色々試しながら、利用して下さい。
また、VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。
ソートの説明は以上です。ソートは便利な機能なので、「ソートで使う定数の説明」を参考に色々試しながら、利用して下さい。
また、VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。