「記録マクロ」ではなく、「書くマクロ」を身につけよう

Excelのマクロには、2種類あります。
「記録マクロ」と「書くマクロ」です。
(正式な名称ではありませんが、便宜上こう呼びます)
マクロをこれから学ぶなら、絶対に<書くマクロ>です。
むしろ記録マクロは特定の場合を除いて使ってはいけません。
記録マクロとプログラミングマクロ

マクロの記録とは

記録マクロとは、人間の操作をExcelに覚えさせるものです。
Excelに左下にこういったアイコンがあります。
記録マクロ アイコン
(もしない場合は、アイコンのあるあたりを右クリックして、[マクロの記録]のチェックをオンにしてください)
スクリーンショット 2013 06 04 9 31 07

アイコンをクリックすると、マクロ名やショートカットキーを設定する画面が表示されます。
そのままOKをクリックすると、記録が始まり、操作を記録してくれます。
録画ボタンと同じ役割です。
記録マクロ 記録

サンプルの給与計算シートから氏名を
記録マクロ 貼付前
給与明細シートにコピーしてみます。
記録マクロ 貼付後

操作が終わったら、停止ボタン(記録中は記録開始ボタンが記録停止ボタンに変わります)をクリックします。
記録マクロ 停止

Alt+F11を押すと、記録された内容を確認できます。
記録マクロ 記録後

・セルE5を選択
・選択したセルをコピー
・シート「master」を選択
・さらにセルG21からH21を選択
・コピーしたセルを貼付
という一連の操作を記録したものです。

この画面で、F5(又は画面上部の実行ボタンをクリック)を押すと、同じ操作を繰り返してくれます。

記録マクロの限界

この記録マクロで操作を自動化できるのですが、限界もあります。
上記のサンプルでは、項目が10数個、社員が5人です。
スクリーンショット 2013 06 04 9 38 57

このすべてのデータを給与明細へ転記するには、すべて人間が操作して記録してもらわなければいけません。
記録の途中で間違った操作をしたら、その操作も記録されます。

多少効率化するなら、1人の項目を記録して、そのプログラムをコピー、加工する方法もあるでしょう。

まだ5人だからいいのですが、10人、50人、100人となると手に負えなくなります。

今月は5人でも、来月は4人、再来月は6人と増減すれば、毎回プログラムに手を入れなければいけません。
こういった点で記録マクロには限界があるのです。

やるなら、書くマクロ

「マクロ」は、実際にプログラムを書いてこそ、その真価を発揮できます。
いわゆる「書くマクロ」では、一例としてこう書きます。

書くマクロ
・シート「master」のセルG21の値は、シート「2月」のセルE5の値である

・シート「master」のセルG21の値を、シート「2月」のセルE5に入れてください
という指示をします。

「書くマクロ」は、人間の操作のとおりにExcelに動いてもらうのではなく、人間がExcelに指示をして動いてもらうものなのです。大きな違いがあります。

指示を出せるようにしておかないと、いつまでたっても人間が操作の手本を見せなければいけません。

「書くマクロ」では、
・給与計算上の人数をカウントして、その数だけ、操作を繰り返す
ということもできます。
一度書いてしまえば、ボタン1つで毎日、毎月の処理をこなせるのです。

記録マクロは、手軽ですが、拡張性もなく、効率も一定以上は上がりません。
書籍の中には記録マクロを主に扱っているものもありますが、私は、やるのなら「書くマクロ」を最初から覚えた方が、効率がいいと考えています。

開催するセミナーでも、記録マクロはおすすめしていません。

6/13(木)Excelマクロ入門セミナー 残席2名です。

※本格的にマクロを書いて、サンプルのようなことができるようになる内容は、別途開催するExcelマクロ初級セミナーで扱います。入門セミナーはマクロの本当に初歩的な部分、知っておいた方がいい部分のみを扱いますので、マクロをまったく触ったことのない方、記録マクロしか使ったことのない方、他人が作ったマクロを動かしたことしかない方を対象としています。





■スポンサードリンク

【編集後記】
昨日の打ち合わせは、某官庁関係の仕事に関するものでした。
これまでとはまた違った形での仕事ということもあり、楽しみです。