プログラミング不要でRPA、「マクロの記録」機能でExcelを自動化するTech TIPS

Excelのマクロと聞くと、VBAやプログラミングの知識が必要と思ってしまい、敬遠している人も少なくないようだ。しかし、VBAやプログラミング知識がなくてもマクロを作ることができる。その方法を解説しよう。

» 2020年11月09日 05時00分 公開
[塩田紳二]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Tech TIPS」のインデックス

連載目次

対象:Office 2013/2016/2019/365


Excelのマクロの作成にはVBAの知識は不要? Excelのマクロの作成にはVBAの知識は不要?
Excelのマクロと聞くとVBAやプログラミングの知識が必要と思い込んでいる人が少なくない。しかし、VBAやプログラミング知識がなくてもマクロは作ることができる。

 「Microsoft Excel(エクセル)」のマクロと聞くと「プログラミングができないとダメ」「VBAの勉強が必要」と思っている人が多いようだ。実は、「マクロの記録」を使い、一定のルールに従って操作を記録することで、プログラミングやVBAの知識がなくても、マクロを作ることができる。

 もちろん、「マクロの記録」では、VBAやプログラミングの知識を使って作成するマクロに比べて制限はある。しかし、リボンのボタンを複数押すような処理をマクロ化するには、VBAやプログラミングの知識は「まったく」必要ない。

 日常的なExcelの使い方を考えてみても、リボンの同じボタンの組み合わせを何回も繰り返し押していることがあるはずだ。こうした操作はプログラミングを知らなくてもマクロ化することで作業の工数を減らすことができる。

 例えば、Excelで表を作るとき、表の見出し部分を「太字」にして「中央揃え」といった作業をしていないだろうか? 日付に対していつも年月日や元号による書式を設定していないだろうか? こうした作業は全てマクロとして記録できる。一回マクロを作ってしまえば、これをリボンに登録して、ボタン1つで実行させることが可能になる。

マクロを記録する際の制限

 「マクロの記録」機能は、ユーザーが行った操作をExcelがマクロとして記録するものだ。作業によっては、書き換えないとマクロとしては使い物にならない場合もある。しかし、以下のルールに従って操作を記録すれば、マクロを編集する必要がないため、プログラミングの知識は必要ない。重要なポイントは以下の2点だ。

  • リボンにあるボタンで実行できる機能だけを使う
  • 「セル」「シートタブ」「ブック」「ウィンドウ」を選択する操作は行わない

 もう少し具体的な例で、避けた方がよい「マクロの記録」時の操作について触れておこう。

セルやシートタブのクリックは行わない

 セルやシートを選択する操作を含めることはマクロの編集なしには難しいので、「マクロの記録」中は、セルやシートタブのクリックを行ってはいけない

 その一方で、[リボン]タブを切り替える操作は可能で、ダイアログが表示される機能も利用できる。

セル範囲の選択は利用しない

 また、キーボードショートカットもリボンに同等のボタンがあるものは使えるが、セル範囲を選択するようなもの(例えば、表を選択する[Ctrl]+[A]キーなど)は利用しないこと。このあたりは区別が難しいので、キーボードショートカットは利用できないと理解しておいた方がいい。

値や数式の入力はアクティブセルのみ

 セルに値や数式を入れる操作は、いつでも同じ数値や文字列、またはセル参照を含まない数式ならば可能である。ただし、値や数式の入力は、アクティブセルにしか行えないことに注意が必要だ。やはり区別がよく分からないという場合には、セルに値や数式を入れることはできないと考えてもよいだろう。

新規のシートや他のブックが開いたら「マクロの記録」は終了

 画像やグラフ、数式、コメントなどの挿入、ピボットテーブル、クエリ、ブックを開く操作など、実行すると新規にブックやシートが開いたり、アクティブセルが移動したり、非選択状態になったりする機能も利用は可能だ。ただし、それ以降の操作は、セル範囲が選択されていない状態で記録を行う必要がある。基本的には、実行した機能で、新規シートや他のブックなどが開いたら、そこで「マクロの記録」は終了と考えてほしい。

ダイアログに対する操作は記録時の値に固定される

 ダイアログでの機能の選択は普通に行って問題ないが、「ファイルを開く」「保存するときのファイル名」「パス指定」や、「検索や置換時の文字列」「ユーザー定義書式文字列」などは、記録したときに入力、適用した値に固定される。[名前を指定して保存]ダイアログの操作を記録したマクロでは、常に同じ名前のブックファイルを同じフォルダに保存することになる点に注意してほしい。

「マクロの記録」の使い方

 「マクロの記録」をする上での注意点を理解したところで、実際にマクロを作成する手順を紹介しよう。

【準備】リボンに[開発]タブを加えておく

 「マクロの記録」だけなら[表示]タブの[マクロ]−[マクロ記録]でも開始できるが、その後にマクロの名前を変えるなどさまざまな操作をするときには[開発]タブを使う方が便利だ。

 そこで事前準備として[開発]タブを表示させておく。[開発]タブは、デフォルトでは非表示状態なので、Tech TIPS「Excel自動化への第一歩 マクロ(VBA)を使えるようにする」を参照して、[開発]タブを表示しておいてほしい。

【準備】空白のブックファイルだけを開く

 次に、空白のブックでExcelを起動する。マクロは、マクロ有効ブックなどにしか保存できないので、既存のブックファイルなどは閉じておく。なお、この空白のブックは、Excelを起動し、データの入ったブックにマクロが記録されてしまう事故を防ぐためだけのものなので、作業が終わったら保存する必要はない。

【準備】操作したいセルを選択する

 「マクロの記録」を行う前に、対象となるセル範囲を作っておく。どんな操作を記録するかにもよるが、「書式設定」などは、セルに値が入っていないと、効果を見ることができない(行った操作が実行されているのかが分かりにくい)。効果を見ることができるならば、値は適当なもので構わない。

 値を入れたら、複数行、複数列のセルを含むセル範囲を選択状態とする。セル範囲を選択状態とすることで、記録される操作は全てセル範囲を対象とするものになる。

 ただし、「セルに固定した値を入れる」「セル参照を含まない数式を入れる」という場合には、セル範囲ではなく単独の空白セルを選択状態とする。単独セルを選択した状態で「マクロの記録」を行うと、記録されるマクロは、アクティブセルを対象とするものとして記録され、セル範囲を選択した場合と挙動が変わることがある点に注意してほしい。

マクロの記録を始める

 準備ができたら、[開発]タブの[コード]−[マクロの記録]ボタンを押す。[マクロの記録]ダイアログが表示されるので、「マクロの保存先」のプルダウンリストで[個人用マクロブック]を選択する。「マクロ名」や「説明」はそのままでも問題ない。

 マクロに名前を設定した場合、同じブックに含まれるマクロの名前は重複できないので、「マクロの記録」をやり直すときには別の名前を付けるか、削除する必要がある。[マクロの記録]ダイアログでは、「Macro1」から末尾の数字を増加させた重複しない名前が提示されるので、基本的にはそのままでも問題ない。

マクロの記録を開始する方法 マクロの記録を開始する方法
「マクロの記録」を使うには、[開発]タブの[マクロの記録]をクリックして、[マクロの記録]ダイアログを表示させ、[OK]ボタンを押して開始させる。「マクロ名」や「説明」「ショートカットキー」は何も設定しなくてもよい。ただし「マクロの保存先」を[個人用マクロブック]にしておく。

 [OK]ボタンを押すと記録が始まる。といっても、ビデオなどの記録とは違い、何もしなければ何も記録されないので、慌てる必要はない。必要な操作をゆっくりと行えばよい。また、リボンタブの選択など、セルやシートに変更が加わらない操作は記録されないので、タブを間違えた場合はそのまま正しいリボンタブを選択し直せばよい。

 違った操作をしてしまうと、やり直しするしかないので、記録を始める前に一回予行をしておくとよい。操作手順をメモ帳などに書いておき、見ながら記録するのもいいだろう。

マクロの記録を終了する

 必要な操作が終わったら、[開発]タブの[コード]−[記録終了](最初に「マクロの記録」ボタンがあった位置)を押し、「マクロの記録」を終了する。これでマクロが記録された。

マクロの記録を終了する方法 マクロの記録を終了する方法
必要な操作を記録したら、[開発]タブの[記録終了]をクリックして、「マクロの記録」を終了させる。

具体的にマクロを作ってみる

 ここでは、実際のExcelの操作を交えて、マクロを作りながら手順を紹介しよう。簡単な例として、選択範囲のセルに「罫線」を引いて、セルの表示を「中央揃え」、「上下中央揃え」とするマクロを作ってみる。

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。