VBAでExcelの表をソートする~Sortメソッドとオプション~

VBA

Sortメソッドの使い方についてご紹介していきます。

Sortメソッドの使い方

sortメソッドの使い方とよく利用されるオプションについて説明します。

Sortメソッドの書き方

sortメソッドはソートする範囲を指定して、ソート条件を指定することで利用することができます。

Range("B2:D7").Sort ソートする条件

ソートする条件とSortの間に半角スペースがあることに注意しましょう。

ソート条件を指定するオプションと引数

ソートをするには条件を設定する必要があります。

Sortのよく利用されるオプション

オプション名できること引数
key1~3ソートキーを指定する文字列またはRangeで指定
order1~3指定した方法で並び替えるxlAscending(昇順)
xlDescending(降順)
Header範囲内に見出しの有無を指定するxlYes(見出しあり)
xlNo(見出し無し)
xlGuess(Excelにまかす)

keyとorderは各3つまで設定することができる。また、ほかにもオプションは複数ありますが、利用頻度が低いので今回は除外しました。

Sortをするサンプルコード

簡単な表を作成して実際にソートをしてみます。

こんな表を作ってみた

この表に記載されているワンちゃん達を大きい順にソートしていきたいと思います。

Sub test()
 Range("B2:D7").Sort key1:=Range("D2"), _ 
                       order1:=xlDescending, _ 
                       Header:=xlYes 
End Sub
※コードの見方
白・・・コード
紫・・・コメント
青・・・プロシージャの宣言
その他・・・コードを見やすくするために使うかも

Range(“B2:D7”)
ソートする範囲を指定しています。

key1:=Range(“D2”)
大きい順にソートをするためにソートキーには”体高”を指定します

order1:=xlDescending
大きい順にソートするため降順に並び替えます

Header:=xlYes
選択範囲に表のヘッダーが含まれるため、ヘッダー有を指定します

各オプションの間には区切り文字として(,)カンマを利用します。(_)アンダーバーは見やすくするために改行を入れているのでそのための記述です。必要が無ければ削除してかまいません。

実行結果

一番大きい柴犬を先頭に大きい順に並び変わっていることがわかります。

タイトルとURLをコピーしました