Excelマクロの作り方、改造の仕方、デバッグの仕方

Excelのマクロとは何?

あなたはExcelのマクロを使ったことがありますか?

もし、あなたが、Excelで同じ操作を繰り返すような仕事をしているのであれば、マクロを使うことで、作業時間をずっと短くできる可能性があります。

マクロは、あなたがする操作をPCが代わりに実行してくれるように設定できる仕組みです。

「開発」タブを表示させよう

最近のExcelのバージョンは、普通の状態でマクロが動作するように設定されてはいません。

なぜなら、あなたがする操作を代わりにしてくれるように設定できるということは、悪意を持った人の操作も代わりにしてくれるように設定できるということです。
早い話が、Excelマクロのコンピュータウィルスが存在しています。そのために、簡単にはマクロが使えないようになっているんです。

怖いですねぇ。じゃ、使うの止めましょうか。

でも、あなたはコンピュータウィルスを作れますか?

おそらく作れないと思います。僕も作れません。

だったら、自分で作ったマクロなら、使っても怖くありませんね。当たり前ですが。
また、他の人が使ったマクロでも、先ずはファイルをスキャンしてウィルスが無いことを確認し、さらに、書かれているコメントを確かめながら、1行ずつ実行してみるような慎重さがあれば、使っても大丈夫なのではないかと思います。ただし、その場合は、自己責任が伴いますのでくれぐれもご注意ください。

脅かすのはこれくらいにして、マクロが使えるようにしてみましょう。
Excelを立ち上げてみて下さい。僕のバージョンは2013です。でも、設定内容はあまり変わらないと思います。

「開発」タブの無い画面

「開発」タブの無い画面

まず、上方に、「ファイル」、「HOME」、・・・とタブが並んでいるところに、「開発」タブが無いことを確認してください。

「ファイル」→「オプション」をクリック

「ファイル」→「オプション」をクリック

「ファイル」タブをクリックして開いた画面で、「オプション」をクリックします。

「リボンのユーザ設定」で「開発」をチェック

「リボンのユーザ設定」で「開発」をチェック

「リボンのユーザー設定」を選んでください。

右側のコンボボックスで、「メインタブ」が選択されていることを確認し、「開発」のチェックボックスをチェックします。

「OK」をクリックして、設定画面を抜けます。

「開発」タブの確認

「開発」タブの確認

Excelの画面で「開発」タブが増えていることを確認します。

Excelマクロを作ってみよう

Excelマクロを作ってみましょう。

言語が分からなくても、大丈夫。Excelが自分で作ってくれます。

かなりの上級者でも、Excelが作ったマクロの一部を改造して使うことは普通のことです。

「マクロの記録」をクリック

「マクロの記録」をクリック

先ず、「開発」タブをクリックします。
次いで、「マクロの記録」をクリックします。

Excelシートの横幅が小さいと、「マクロの記録」の文字が出てきません
そのような場合は、シートの横幅を広げるか、アイコンの上にマウスを置くと、説明文が出てくるので、「マクロの記録」であることを確認してからクリックしてください。

「個人用マクロブック」を選択

「個人用マクロブック」を選択

開かれる「マクロの記録」ウィンドウで、マクロの保存先として「個人用マクロブック」を選んでください。

「OK」をクリックすると記録が始まります。

「A1」セルを黄色にしてみた

「A1」セルを黄色にしてみた

ここでは試しに、A1セルの背景色を黄色にしてみました。

「開発」タブから「記録終了」をクリックすると記録が終了します。
おめでとうございます。これでマクロができました。

マクロを確認してみよう

あなたが作ったマクロを確認してみましょう。

「Visual Basic」をクリック

「Visual Basic」をクリック

「開発」タブから「Visual Basic」をクリックしてください。

「Module1」をダブルクリック

「Module1」をダブルクリック

左側のツリーで、「VBAProject(PERSONAL.XLSB)」の左側の「+」をクリックして展開します。この「PERSONAL.XLSB」が「個人用マクロブックです」。
「標準モジュール」の左側の「+」をクリックして展開します。
「Module1」をダブルクリックすると「”A1″」とか「.Color = 65535」とか書かれたコードが出てきます。

これがマクロです。

このマクロを実行すると、常にA1の背景色が黄色くなります。

マクロを改造してみよう

A1の背景色を何度も黄色にすることは、あまり実用的ではありませんよね。
そこで、マクロが実行されたときに選ばれていた領域を赤くするように改造します。
(そんな改造をしてもやはり実用的なマクロではありませんが、改造の雰囲気を知っていただきたいのです)

マクロの改造

マクロの改造

Range(“A1”).Selectの前にシングルクォーテーションを入れて下さい
これで、この行がコメントになって、A1を選び直さなくなります。

次に「.Color」の値を255にします。65535は黄色、255は赤を意味します。

改造したマクロを使ってみましょう。Excelシートに戻って、適当なセルを選択します。
「開発」タブから「マクロ」をクリックしてください。

「PERSONAL.XLSB!Macro1」を「実行」する

「PERSONAL.XLSB!Macro1」を「実行」する

「PERSONAL.XLSB!Macro1」を選んで「実行」ボタンをクリックします。
いかがでしょうか?選んでいたセルが赤くなりましたでしょうか?

一行ずつ実行させてデバッグしてみましょう

上で、「他人のマクロは1行ずつ実行してみる」と書きました。その方法を示さないと不親切ですよね。

褐色の丸と行の背景色

褐色の丸と行の背景色

「Visual Basic」の画面で、「Sub Macro1」の左側の欄外をクリックしてみて下さい。
そうすると、クリックしたところに褐色の丸が現れ、行の背景色も褐色になります。

マクロ停止を示す黄色い行

マクロ停止を示す黄色い行

次いで、マクロを実行すると、当該行の背景色が黄色になり、黄色い矢印も現れます。
マクロは現在停止中で、次はこの黄色の行を実行することを意味しています。

ここで、「F8」キーを押すか、「デバッグ」→「ステップイン」を選ぶとその行が実行され、次の行が黄色になります。

このようにして、一行ずつ実行することができます。

思った動きをしなかったら、実行したばかりの行を修正します。そして、黄色い矢印を修正した行にドラッグ&ドロップし、「F8」を押すと、再実行されます。こうして、デバッグすることができます。

一行ずつ実行する必要がなくなった場合、「F5」キーを押すか、右三角アイコンをクリックすると残りのマクロを全て実行します。

個人用マクロブックを保存しておきましょう

マクロのつくり方、改造の仕方、デバッグの仕方の基本はこれだけです。
そろそろ、お腹いっぱいでしょうから終了しましょう。

普通に終了すると、保存を2回聞いてきます。

「個人用マクロブックの変更を保存しますか?」の画面

「個人用マクロブックの変更を保存しますか?」の画面

この「個人用マクロブックの変更を保存しますか?」の画面が出た場合、「保存」を選択してください。(「[はい]をクリックすると」と書いてありますが、[はい]ボタンはありません)
そうすると、次回もこの個人用マクロブックが自動的に読み込まれるようになります。


今後、このブログで、マクロのサンプルコードを折に触れて紹介していく予定です。

なるべくコメントを沢山いれて、分かりやすいコードにしますので、興味を持ったら使ってみて下さい。

コメント

タイトルとURLをコピーしました