教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について説明していきます。

【ExcelVBA プログラミング】(並べ替え1)昇順並べ替え(ソートキーが1つの場合)

       f:id:m_kbou:20200421124456p:plain

指定したセル範囲の並べ替えする方法について説明します。今回は1つのソートキーで昇順に並べ替えをする方法について説明します。

 

【目次】

 

例題

例題は、<実行>ボタンにVBAマクロが登録されており、ボタンをクリックする事で並べ替えを行います。内容は、A3セル~C6セルの範囲をA列に入力されている番号で昇順に並べ替えするプログラミング方法となります。

[実行前]:

・A列に各個人の番号、B列に氏名、C列に性別が入力されている。

f:id:m_kbou:20200318124625p:plain

[実行後]:

・A3セル~C6セルの範囲がA列の番号順で昇順に並べ替えされる。

f:id:m_kbou:20200318124643p:plain

 

プログラミング

プログラミングは以下の通りとなります。

[記述例]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。また、ボタンにプログラム内容を割り当てるには、VBAをボタンに割り当てるを参考にして下さい。

-------------------------------------------------

Sub サンプル()
   
    Range("A3:C6").Sort Key1:=Range("A3"), Order1:=xlAscending

End Sub

-------------------------------------------------

今回の例題では、A3セル~C6セル範囲の並べ替えを行うため、範囲の指定にRange("A3:C6")と記述します。

A列で並べ替えを行うため、ソートキーにはKey1:=Range("A3")と記述します。

また、A列を昇順で並べ替えするため、Order1:=xlAscendingと記述します。

処理内容を説明すると、

「A3セル~C6セルの範囲をA列をキーとして昇順に並べ替えします。」

との意味になります。

 

ダウンロード

上記サンプルプログラムを使用したい場合は、こちらからダウンロードして下さい。

1drv.ms

 

関連プログラム

www.osiete-excelvba.work

www.osiete-excelvba.work