「マクロ」とはそもそも、エクセルやワードなどのソフトで、あらかじめ決めた作業を自動実行する機能。英単語を使った命令文(コード)を書いて処理内容を指定するもので、「プログラム」の一種だ。エクセルやワードに搭載されたマクロは、「VBA(Visual Basicfor Applications)」とも呼ばれる。

 さまざまな計算やデータ処理が自在なマクロは、作業効率を飛躍的に向上してくれる。だが一方で、パソコン内のデータを破壊するような悪質なプログラムが作れてしまうのも事実。このマクロを使ってプログラミングされたウイルスが、いわゆる「マクロウイルス」だ。ファイルを開くと同時に自動実行され、パソコンに甚大な被害をもたらすものもある。中でもエクセルのマクロウイルスは、世界中で猛威を振るっているものが少なくない。

 そこでエクセルは、マクロウイルスの感染を防ぐため、マクロを含むファイルを開く際、下図のような警告画面を開く設定になっている[注]。自分で作成したマクロなど、安全性が確認されている場合だけ、「マクロを有効にする」を選べばよい。他人から受け取ったファイルなど、単なるマクロかマクロウイルスか判断できない場合は、「無効にする」を選ぶ。すると、マクロを実行せずにファイルを開き、事前に中身を確認できる。

[注]マクロの警告画面
エクセル2002以降では、標準で「マクロを実行するにはセキュリティレベルを変更する必要がある」という警告画面が開く。「ツール」メニュー→「マクロ」→「セキュリティ」を選び、レベルを「中」に変更すると、冒頭のような警告画面が開く

いつの間に?ダブルクリックで勝手にマクロが作られる

 ところが、自分で作成した安全なファイルで、しかもマクロを作ったことがないにもかかわらず、マクロの警告画面が現れることがある。そんなとき、あなたはどうするだろうか。

 実は、マクロを作った記憶がなくても、“ある操作”を行うだけで、勝手にマクロが作成されるケースがある。それは、「スピンボタン」や「リストボックス」、「スクロールバー」などの「コントロール」と呼ばれる“部品”を、シート上に作成したとき、ついやってしまいがちな操作だ。

 コントロールとは、ボタンをクリックするだけでセルの値を変化させたり、必要なデータを選べるようにするツール。これには二種類あり、「フォーム」ツールバーにあるエクセル標準のコントロールと、「コントロールツールボックス」ツールバーで提供される「ActiveX(アクティブエックス)コントロール」がある。気を付けたいのは、「ActiveXコントロール」のほう。シート上のActiveXコントロールをうっかり“ダブルクリック”すると、それだけで、マクロが自動作成されてしまうことは、あまり知られていない。

[例えば「スピンボタン」をダブルクリックすると:次のページへ]