【Excel】マクロの組み合わせでラクに記録しよう
「マクロの記録」の方法はとても単純なものだと分かりました。
oyajinokakurega.hatenablog.com
ただ、1つのセルを消すだけのマクロなんて誰が使うんだよ…と。
実際にマクロの記録を行う際はもっと手順が長いものが大半だと思います。
そりゃそうだ。
なので今回は16ステップくらい必要な作業を「マクロの記録」を行います。
というか長いステップの際は「マクロを組み合わせる」と便利なのでそのご紹介です。
ではどうぞ。
目次
◆手順を書き出してみる
ランチャートや立派なフローでなくテキトーな箇条書きでも何でも良いのですが、とりあえず記録させる手順を確認しましょう。
今回この記事では次の表を使います。
東京/名古屋/大阪/博多という都市の情報がグチャグチャに並んでます。
これを「都市ごとの一覧を別シートで作成する」という作業内容にします。
手順というかやりたい事を以下のようにザックリと書き出します。
<手順>
1.フィルターで都市別に絞り込む
↓
2.絞り込んだ対象を範囲選択
↓
3.範囲選択したセルをコピー
↓
4.対象のシートへ貼り付け
という作業を都市別に4回行う計16ステップでございます。
実に面倒ですね。
これらの作業をマクロで秒で片付けられるようにしてやろうという算段でございます。
僕はステップが多いと途中で自分が何をやってるのか分からなくなったりするので(こういう時に限って電話がかかってきたり話しかけられたりするのは何ででしょうね)書き出しておくと迷子にならずに済みます。
◆マクロの記録を分割しよう
今回は別のシートへ貼り付けを行うのでマクロの記録を開始する前にシートを用意します。多分いきなり記録を開始してたら途中でコピペ先のシートを用意していなかったことに気付き早々にやり直す羽目になっていたことでしょうよ。
ということで都市名を付けたシートを用意しました。
あらかじめフィルターも準備しておくと良いかと思います。
準備もできたところで「東京」「名古屋」「大阪」「博多」ごとに抽出する「マクロの記録」を手順通り行います。
そして出来たのが各都市を抽出するマクロさん達。やぁ、よろしく。
せっかくなので各都市ごとのマクロの記録が完了したのでついでにボタンを作って割り当ててあげちゃいましょう。
(ボタンのサイズが不揃いなのは気にしないことにします)
これで「東京」のボタンを押せば「東京」のシートに東京のみが貼り付けられ、「名古屋」のボタンを押せば「名古屋」のシートに…以下略
作成したマクロは念の為、1つ1つがきちんと動作するか確認しておきましょう。
画像は「東京」のボタンを押した後の「東京」シートです。
上手く動作してますね。この確認を怠るとあとで組み合わせた際に動かなかったりしたら原因を探す羽目になります。
◆マクロを組み合わせる
いよいよ本題のマクロの組み合わせです。長い前置きで申し訳ないです。
組み合わせと言ってもやることはとても単純で、
1.マクロの記録
↓
2.記録した都市ごとのマクロを実行
(※ボタンからではなく「マクロ」を押下して実行してください)
(画像は作業後のものなので「全都市」というマクロを作ってしまっています)
↓
3.マクロの記録終了
これで4都市まとめて別シートへ貼り付けを行うマクロが出来上がりました。
ついでにボタンを作ってあげましょう。
都市ごとのボタンを押せば該当都市が、新たに作った「全都市ボタン」を押せば全都市がそれぞれのシートに一覧として抽出されます。
◆おまけ
マクロの記録の際に、間違えた手順で進めるともれなく間違った手順も記録されてしまうのですが戻るボタンで作業を戻せば無かったことに出来ます。
なので手順を間違えても1からやり直さなければいけないということはないのでご安心を。
◆まとめ
マクロの記録を既に作ったマクロで行うことが出来るということをなんとなく理解していただけたでしょうか。
例では「全都市」を対象として作成しましたが「関東」「中部」「関西」とマクロを作りたいと思ったときに一から作成しなくても記録してあるマクロをポチポチすれば簡単に新しいマクロが作れてしまうのです。
そして動作確認も行っているので一から作った際にどこかで作業を間違えた…というリスクもありません。
個別に作るメリットもあり、バラバラに作っておけば整備がラクなのです。
例えば元となるデータのフォーマットが変わって手直しが必要な場合、一部分のみ修正すれば良いだけなのに1つのマクロで作っているとなので差替えが出来ない…
バラバラに作っていれば該当するマクロだけ修正すればOK!なんてこともあったりなかったり。
(今回の例題でフォーマットが変わったら全部作り直さなきゃいけないのは触れないでそっとしておいて下さい)
「抽出」「コピー」「算出」「印刷」みたいな感じで作業項目ごとに作ると分かり易くて良いかもしれませんね。
グダグダ書いていますが要は
正直マクロを作成するのも面倒なので、作成する際にもラクを出来るところはラクをしていきましょう!
というお話でした。
今回の例では範囲選択を絞り込んだジャストサイズでコピーしているのですが、使い回すことを考慮すれば(今後もデータが増え続けるのであれば)、行を500でも1000でも遥か彼方下まで範囲を広げておけば超えるデータ量でない限り使い続けられるんじゃないかと思います。
さらに今回は各都市の一覧を作るところまでの作業となっていますが、各シートのコピーを組み込んでおけばボタン1つでそれぞれの一覧をシート別に作成し更にコピーまでしてくれる…
それにしてもExcelさんは便利ですねぇ。