Excelのマクロの記録は、プログラミングを始めるにあたり、最高の導入素材になります。
今回は、マクロの記録の何が便利か?どう使うのか?を説明したいと思います。
次回には実際にマクロの記録を使う説明を行います。
マクロの記録の目的
まずはマクロの記録を使う目的を説明したいと思います。
マクロの記録を使う目的は、以下の3つです。
①作業の自動化
マクロの記録によって、エクセルで行う作業を自動化することができます。作業を自動化すると、必然的に以下の2つの効果が得られます。
マクロの記録では、マウスでポチリポチリ行っていた作業を殆ど自動化できます。
②時間短縮
マクロの記録を使って作業を自動化することで、今までかかっていた作業(例えば、幅調整や書式の設定等)をワンクリックで終わらせる事ができるようになります。
マクロの使い方は別で触れますが、ボタンを押すと簡単な作業内容であれば数秒内で終わります。
今までエクセルの表を微調整するために使っていた作業時間が数秒で終わるイメージをしてもらえたらわかりやすいかと思います。
③単純ミス防止
マクロの記録というのは、作業を何度でも再現できる記録ということと同じになります。記録したマクロを実行すれば、毎回A列は中央寄せの書式になる、とか、2列目は毎回黄色背景の色が付く、みたいに、毎回必ず記録されているマクロが再現されるので、「マクロの実行を忘れなければ」『色をつけ忘れた!』とか『書式を変え忘れた!』というような単純ミスの防止になります。
マクロの記録の使い道
マクロの記録の使い道の例は、上の段落で少し触れましたが、使い道に適していることを上げたいと思います。
書式の変更
書式の変更は、背景の色を変える、文字の大きさを変える、罫線を引く、赤字にする、数値から通貨に変える等々を記録できます。
書式の変更はこだわり出すとキリがないことと、そのこだわりを維持(引継いだ場合等も含む)するために時間をかけて書式合わせをしている場合があると思います。これらをマクロの記録で自動化できれば、作業負担がグッと軽くなります。
並び替え
表やフォーマット上の結果の見やすさのために並び替えを行っている人は多いと思います。
この並び替えもマクロの記録ができるので、使い道の一つとして考えられます。
並び替え自体は単純なもので、ゆっくりやれば間違えることは少ない作業と思いますが、そんな作業ほど、時間がないときに行うと忘れるものです。しかも、単純なものということは他の人もわかっているため、並び替えを忘れたがために、『並び替えもやっていない気が利かない奴』『こんな簡単なことを忘れる抜けてる奴』と言うようなマイナスをされてしまいかねません。こうならないためにも、簡単な作業程、マクロの記録を使っていつでも再現できるようにしておくという、自己防衛的な使い方もマクロの記録の魅力の一つかもしれません。
マクロの記録を使うと便利な業務例
ここは箇条書きで例を上げたいと思います。
・金額の集計業務
・決まったフォーマットの書き込み業務(色づけ等)
・表の整形業務
などです。よりいろいろなことを自動的に行いたい(例えば、最終行の次の空白行から、あるシートのデータをコピペしたい、毎回決まった表のデータを一度にクリアしたい、列同士の合計を次の行に算出し出てきた合計をさらに列同士と計算させたい等)場合は、VBAの学習が必要になります。
次の項でマクロの記録とVBAの違いについて書きたいと思います。
マクロの記録とVBAの違い
マクロの記録では記録できない操作がある!
マクロの記録は、あくまでエクセル上で行った操作の再現になるため、人間のように表や表に入っている数字や文字の意味合いを解釈して適切な操作を行うことができません。
具体的には、マイナスの数字のときは背景を黄色くする(ちなみにこれは条件付書式でも再現できます)とか、男の場合はC列に合計を入れ、女の場合はD列に合計を入れるとか、A列に「東京都」が入っているB列の数字を別のシートのF列にコピペする等です。
先の具体例でもわかるように、実際にエクセルを使った業務では、ある決まりごとに基づいて、何かの処理を行っていることが多いです。ただ残念なことに、この操作は再現できないものが多く(再現できない理由は、例えば集計方法は毎回同じでも集計の対象の数が毎回違うなどで、マクロの記録ではキャッチできない行や列が出てきたり、毎回結果が違ったりするためです。)、マクロの記録では、自動化の頭打ちが訪れます。
しかし、マクロの自動化を通じて、エクセルがどういった処理を自動化(マクロ化)しているか?が少しでもわかってくると、今度は自分の行っている作業でどうにか自動的に行える処理はないか?と振り返ってみたり、その振り返りを通じて、この業務は比較的手間がかかるから自動化して時短したい、というような思いが出てくるかもしれません。そうなったときはVBAを学習するチャンスだといえます。
VBAはネットだけで学習できる!(しかも無料)
前段でのVBAの学習チャンスの話をしましたが、VBAの魅力はネットだけで、しかも無料で学ぶことができます。
実際は私も誰かに教わることもなく、ネットの情報だけで学習し、たいていのことができるようになりました。時間は多少かかりますしエクセルがないと始められないというハードルはありますが、一度身に付ければ 、「独自の処理システム」や「特有のやり方」から一歩出て、『どこでも通用する技術』が手に入ります。どこでも通用するというのは、ある場所に留まらなくてもよいということであり、VBAを学習した知識や学習を通じて得た知恵や考え方は、本当に何処でも通用するという自信にもなります。
おわりに
エクセルは使いこなせる人には強力な表計算ツールになります。その強力なものをより便利にするために、マクロの記録を触れてみるのはいかがでしょうか?
次回はマクロの記録の実践について書きたいと思います。