記録されたマクロを確認してみる

 記録された内容を見る前に、今回の作業をどのようにマクロで書くか示します。

作業1:Range("B:B").Insert
作業2:Range("C6").Formula = "=SUM(C1:C5)"
作業3:Range("C6").Interior.Color = RGB(255, 255, 0)

 今回は単純な動作だったので、各作業1行ずつ計3行で済んでしまいます(ここでは該当の作業内容を示すマクロのみを記載。SubやEnd Sub、シートの選択等は省略しています)。

 それでは、自動で作成されたマクロを確認してみましょう。

 AltキーとF11を同時に押し、マクロ作成画面を出すと、新しい標準モジュールができています。この中に今回作られたマクロが入っています。

Excelマクロ初心者に「マクロの記録」を勧めない2つの理由

 Module1の中を見ると、先ほどの作業がマクロ化されています。

Excelマクロ初心者に「マクロの記録」を勧めない2つの理由

マクロの記録から卒業しよう

 では、マクロの記録の欠点について解説していきます。

 欠点(1) 複雑でわかりづらい

 上記の自動生成されたマクロは、とても複雑になっています。3行で済む作業にもかかわらず、11行もかけて書いてあります。さらに、それぞれの行が長いことも見て取れます。このように自動生成されたマクロには、不必要な部分がたくさんあるのです。

 たった3つの作業でこれだけの行数になってしまうのですから、いかにマクロの記録が冗長なものを生み出しているかおわかりできたと思います。

 冗長なマクロの欠点は、そのわかりづらさにあります。他の人が作業を引き継いだときに、マクロの読解にとても苦労することになります。自分で見返したときでさえ、苦しむことがあります。

 ですから、マクロの記録はわからないところだけをピンポイントに利用する程度にとどめましょう。それには必要なポイントを見極める知識が必要なのです。

 欠点(2) 業務効率化のための大事なポイントが学べない

 マクロの記録では「変数」「Ifによる条件分岐」「繰り返し処理」などは自動生成されず、学べません。これらは何度も同じ作業を繰り返す業務を効率化するためには欠かせない、非常にたいせつな知識です。1つのマクロで対応できることがぐっと増え、データの内容や、繰り返し回数にかかわらず使えるようになります。

 そうすれば長期的に考えて、時間を大きく削減できます。ですからマクロは基礎から順序立てて学んでいきましょう。

 このように、マクロの記録だけに頼って学ぶ危うさを感じられたかと思います。自分の手でマクロが書けるようにスキルを上達させることが、業務のさらなる効率化につながるのです。

(本原稿は、寺澤伸洋著『4時間のエクセル仕事は20秒で終わる』から抜粋、加筆し再構成したものです)

寺澤伸洋(てらさわ・のぶひろ)

Excelマクロ初心者に「マクロの記録」を勧めない2つの理由

1976年、大阪府生まれ。灘高校、東京大学経済学部卒業後、日系メーカーで17年間勤務。経理や営業、マーケティング、経営企画などに携わり、独学で覚えたエクセルマクロを用いて様々な分析や業務改革を行う。2017年、GAFAの日本法人のうちの1社へシニアマネージャー(部長)として転職。これまでエクセルマクロを用いた業務改善などで数多くの社内表彰を受けている。手作業では不可能なほど大量のデータを、短時間で分析しやすく加工したことが評価され、社内エクセルマクロ講習会の講師として延べ200人以上に講座を実施。エクセルマクロについて1から10まで教える詰め込み型の学習ではなく、仕事に必要な部分だけを効率的に学べる講座として満足度98%の高い評価を受けている。