エクセルVBAでシートの移動と同時に表のデータの並べ替えをする

エクセル検索
HOMEUserForm印刷画面ファイル図形
日付・時刻データセル関数VBA関数

成績表やデータ表などに付き物の並べ替え作業って地味に面倒だと思ったことありませんか?

優先順位をつけて並べ替える時に、同時にエクセルシートも切替出来たら作業が1秒で終わる方法をご紹介します。

シート移動して並べ替え

VBA並べ替えの基本

「Key」で並べ替え優先順位を表します

  • Key1・・・最優先
  • Key2・・・2番目に優先
  • Key3・・・3番目に優先

「Order」で大きい順(降順)、小さい順(昇順)を表します

  • Order1・・・Key1で指定した列を並べ替える
  • Order2・・・Key2で指定した列を並べ替える
  • Order3・・・Key3で指定した列を並べ替える
波乗りアヒル

※降順は「xlDescending」、昇順は「xlAscending」

4つ以上の並べ替えはVBAではできませんが、どうしてもやりたい方は下記方法ならば、できますよ!

下の図はサッカーっぽい成績表なのですが、順位を決めるのに勝ち点を最優先にしますが、同点の場合更に条件がありますがここでは省略します。

key4-1
key4-1
VBAコード

Private Sub CommandButton1_Click()
Range(“B2:G23”).Sort Key1:=Range(“D3”), Order1:=xlDescending
End Sub

解説
  1. コマンドボタン1がクリックされたら
  2. B2~G23の表の範囲でセルD3(勝ち点)が多い順(降順)に並べ替える
  3. マクロ記録終了

これで、勝ち点が多い順に並べ替えられます。

そして今回はシートも移動してから並べ替えを行うので、移動先のシート名を「成績表」という名前とします。

VBAコード

Private Sub CommandButton1_Click()
Sheets(“成績表”).Select
Range(“B2:G23”).Sort Key1:=Range(“D3”), Order1:=xlDescending
End Sub

波乗りアヒル

並べ替えの前にシート選択を1行追加するだけで完成です。

関連記事

どこかにビューーン
ちょっとの工夫で往復無料の時代が来た!!

新着ページ

よく見られているページ

大容量無料ファイル転送サービス【ACデータ】 無料イラスト【イラストAC】

紅葉スポット

2024年5月11日からマイルと楽天ポイントとの相互交換提携開始!

交換レート0.5:1なので半分になってしまいますが、使い方次第で実質3倍の価値まで引き上げられる方法です。