エクセルVBAで順位並び替えを自動で

船橋で遊ぶなら西船ボウル

マクロを使えばリーグ成績表を自動で並び替え

2017年6月14日更新

ボウリングのリーグ成績表をお客様に渡すときは順位並び替えて印刷した成績表をお渡ししますよね。スコアーなどを入力した後に成績表のシートを開いて、並び替えをする範囲をマウスで指定してから、データ➡並び替え➡最優先されるキーを選び➡順序を選び➡OKを押す手順ですよね。毎週、毎週。そして各リーグ毎に。慣れれば苦にならない作業ですが、マクロを使えば、ボタンを1回押すだけで1秒かからずに完了できるので、仕事が早く終わります。こんな便利なエクセルのマクロ機能を使わないのは損ですよね。

この一連の流れをエクセルVBAで記述すると・・・

Range(“B4:J7”).Sort Key1:=Range(“G3”), Order1:=xlDescending, Key2:=Range(“H3”), Order2:=xlDescending

たったこれ1行。

下の図でボウリング成績表用語に直すと、並び替えをする範囲、最優先する列(3ゲームトータルの計)を降順で、2番目に優先する列(HG)を降順で。

 

エクセル関数IF

エクセルVBAで自動並び替えで作業効率アップ

こうすると何となく意味の分からないアルファベットの並びが分かるような気がしませんか?Rangeってのが、セルを指定する時に必要な単語でOrder1が1番目に優先するキー、Order2が2番目ですね。そしてxlDescendingが降順。大きい数字が上位で小さい数字が下位になりますよね。

ちなみに、小さい数字が上位で大きい数字が下位になる昇順はxlDescendingのところをxlAscendingにすればいいだけです。そうそう、このエクセルVBAの1行だけではマクロは動かないので、必ずSubが必要ですよ。エクセルVBAで記述すると・・・

Sub 並び替え()
Range(“B4:J7”).Sort Key1:=Range(“G3”), Order1:=xlDescending, Key2:=Range(“H3”), Order2:=xlDescending
End Sub

並び替えの文字は何でもいいです。このエクセルVBA作業の名前と思っていいです。名前つけておかないとみんなSub~Sub Endで書いてあるのでわからなくなっちゃいますからね。

スポンサーリンク








24時間以降~180日後までボウリングもネットで簡単ご予約ができます。
もちろん空き状況も15分単位で確認できます。