Excelのマクロと聞くと、VBAやプログラミングの知識が必要と思ってしまい、敬遠している人も少なくないようだ。しかし、VBAやプログラミング知識がなくてもマクロを作ることができる。その方法を解説しよう。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
対象:Office 2013/2016/2019/365
「Microsoft Excel(エクセル)」のマクロと聞くと「プログラミングができないとダメ」「VBAの勉強が必要」と思っている人が多いようだ。実は、「マクロの記録」を使い、一定のルールに従って操作を記録することで、プログラミングやVBAの知識がなくても、マクロを作ることができる。
もちろん、「マクロの記録」では、VBAやプログラミングの知識を使って作成するマクロに比べて制限はある。しかし、リボンのボタンを複数押すような処理をマクロ化するには、VBAやプログラミングの知識は「まったく」必要ない。
日常的なExcelの使い方を考えてみても、リボンの同じボタンの組み合わせを何回も繰り返し押していることがあるはずだ。こうした操作はプログラミングを知らなくてもマクロ化することで作業の工数を減らすことができる。
例えば、Excelで表を作るとき、表の見出し部分を「太字」にして「中央揃え」といった作業をしていないだろうか? 日付に対していつも年月日や元号による書式を設定していないだろうか? こうした作業は全てマクロとして記録できる。一回マクロを作ってしまえば、これをリボンに登録して、ボタン1つで実行させることが可能になる。
「マクロの記録」機能は、ユーザーが行った操作をExcelがマクロとして記録するものだ。作業によっては、書き換えないとマクロとしては使い物にならない場合もある。しかし、以下のルールに従って操作を記録すれば、マクロを編集する必要がないため、プログラミングの知識は必要ない。重要なポイントは以下の2点だ。
もう少し具体的な例で、避けた方がよい「マクロの記録」時の操作について触れておこう。
セルやシートを選択する操作を含めることはマクロの編集なしには難しいので、「マクロの記録」中は、セルやシートタブのクリックを行ってはいけない。
その一方で、[リボン]タブを切り替える操作は可能で、ダイアログが表示される機能も利用できる。
また、キーボードショートカットもリボンに同等のボタンがあるものは使えるが、セル範囲を選択するようなもの(例えば、表を選択する[Ctrl]+[A]キーなど)は利用しないこと。このあたりは区別が難しいので、キーボードショートカットは利用できないと理解しておいた方がいい。
セルに値や数式を入れる操作は、いつでも同じ数値や文字列、またはセル参照を含まない数式ならば可能である。ただし、値や数式の入力は、アクティブセルにしか行えないことに注意が必要だ。やはり区別がよく分からないという場合には、セルに値や数式を入れることはできないと考えてもよいだろう。
画像やグラフ、数式、コメントなどの挿入、ピボットテーブル、クエリ、ブックを開く操作など、実行すると新規にブックやシートが開いたり、アクティブセルが移動したり、非選択状態になったりする機能も利用は可能だ。ただし、それ以降の操作は、セル範囲が選択されていない状態で記録を行う必要がある。基本的には、実行した機能で、新規シートや他のブックなどが開いたら、そこで「マクロの記録」は終了と考えてほしい。
ダイアログでの機能の選択は普通に行って問題ないが、「ファイルを開く」「保存するときのファイル名」「パス指定」や、「検索や置換時の文字列」「ユーザー定義書式文字列」などは、記録したときに入力、適用した値に固定される。[名前を指定して保存]ダイアログの操作を記録したマクロでは、常に同じ名前のブックファイルを同じフォルダに保存することになる点に注意してほしい。
「マクロの記録」をする上での注意点を理解したところで、実際にマクロを作成する手順を紹介しよう。
「マクロの記録」だけなら[表示]タブの[マクロ]−[マクロ記録]でも開始できるが、その後にマクロの名前を変えるなどさまざまな操作をするときには[開発]タブを使う方が便利だ。
そこで事前準備として[開発]タブを表示させておく。[開発]タブは、デフォルトでは非表示状態なので、Tech TIPS「Excel自動化への第一歩 マクロ(VBA)を使えるようにする」を参照して、[開発]タブを表示しておいてほしい。
次に、空白のブックでExcelを起動する。マクロは、マクロ有効ブックなどにしか保存できないので、既存のブックファイルなどは閉じておく。なお、この空白のブックは、Excelを起動し、データの入ったブックにマクロが記録されてしまう事故を防ぐためだけのものなので、作業が終わったら保存する必要はない。
「マクロの記録」を行う前に、対象となるセル範囲を作っておく。どんな操作を記録するかにもよるが、「書式設定」などは、セルに値が入っていないと、効果を見ることができない(行った操作が実行されているのかが分かりにくい)。効果を見ることができるならば、値は適当なもので構わない。
値を入れたら、複数行、複数列のセルを含むセル範囲を選択状態とする。セル範囲を選択状態とすることで、記録される操作は全てセル範囲を対象とするものになる。
ただし、「セルに固定した値を入れる」「セル参照を含まない数式を入れる」という場合には、セル範囲ではなく単独の空白セルを選択状態とする。単独セルを選択した状態で「マクロの記録」を行うと、記録されるマクロは、アクティブセルを対象とするものとして記録され、セル範囲を選択した場合と挙動が変わることがある点に注意してほしい。
準備ができたら、[開発]タブの[コード]−[マクロの記録]ボタンを押す。[マクロの記録]ダイアログが表示されるので、「マクロの保存先」のプルダウンリストで[個人用マクロブック]を選択する。「マクロ名」や「説明」はそのままでも問題ない。
マクロに名前を設定した場合、同じブックに含まれるマクロの名前は重複できないので、「マクロの記録」をやり直すときには別の名前を付けるか、削除する必要がある。[マクロの記録]ダイアログでは、「Macro1」から末尾の数字を増加させた重複しない名前が提示されるので、基本的にはそのままでも問題ない。
[OK]ボタンを押すと記録が始まる。といっても、ビデオなどの記録とは違い、何もしなければ何も記録されないので、慌てる必要はない。必要な操作をゆっくりと行えばよい。また、リボンタブの選択など、セルやシートに変更が加わらない操作は記録されないので、タブを間違えた場合はそのまま正しいリボンタブを選択し直せばよい。
違った操作をしてしまうと、やり直しするしかないので、記録を始める前に一回予行をしておくとよい。操作手順をメモ帳などに書いておき、見ながら記録するのもいいだろう。
必要な操作が終わったら、[開発]タブの[コード]−[記録終了](最初に「マクロの記録」ボタンがあった位置)を押し、「マクロの記録」を終了する。これでマクロが記録された。
ここでは、実際のExcelの操作を交えて、マクロを作りながら手順を紹介しよう。簡単な例として、選択範囲のセルに「罫線」を引いて、セルの表示を「中央揃え」、「上下中央揃え」とするマクロを作ってみる。
Copyright© Digital Advantage Corp. All Rights Reserved.