エクセルのオートフィルタを使用してデータを並び替え(ソート)する方法についてご紹介します。
オートフィルタでデータを並び替え(ソート)
オートフィルタで表のデータの並び替えを行うときの書き方です。
例としてC列の販売数の数値を昇順(小さい順)で並び替えてみます。
'<C列の販売数で並び替え 昇順>
Range("A1").Sort key1:=Range("C1"), order1:=xlAscending, Header:=xlYes
▽実行するとこうなります
コードを分解して説明します。
Range(“A1”).Sort ソートする対象の表範囲を指定しています。
key1:=Range(“C1”), 並び替えを行いたい列を指定します。今回はC列のためC1セル。
order1:=xlAscending, 昇順(数字の小さい順)で並び替える場合は「xlAscending」
降順(数字の大きい順)で並び替える場合は「xlDescending」
Header:=xlYes ヘッダーを含む場合は「xlYes」
ヘッダーを含まない場合は「xlNo」
▽降順で並び変えるときの例:「order1」に「xlDescending」を指定します。
'<C列の販売数で並び替え 降順>
Range("A1").Sort key1:=Range("C1"), order1:=xlDescending, Header:=xlYes
複数の列で同時に並び替えを行いたい場合は優先順位をつけて3つまで指定可能です。
▽複数条件の書き方の例
1つ目の条件:A列の分類を昇順で並び替え
2つ目の条件:C列の販売数を降順で並び替え
ヘッダー使用:あり
'<並び替え 複数条件>
Range("A1").Sort key1:=Range("A1"), order1:=xlAscending, key2:=Range("C1"), order2:=xlDescending, Header:=xlYes
オートフィルタの関連記事
オートフィルタの操作についてはボリュームが多いため、記事を分けて掲載しています。
オートフィルタを使って絞込みを行う方法について↓
オートフィルタで絞り込んだデータの操作について↓
オートフィルタが設定されているか判定・フィルタの解除・すべて選択する方法について↓
※コードのコピー利用について
・コードのコピーは自由におこなっていただけます。
・気を付けて作成はしていますがコードには誤りがある可能性があります。
・自身の環境で動作確認をしていますが、すべての方の環境で同様に動くことは保証できません。
・データの破損等の責任は負いかねますのでご自身の責任のもとお使いください。