今回は、VBA初心者の役に立つちょっとした小技を紹介します。
VBAに慣れてきて少し手の込んだマクロを書くようになると、作業時間が思ったより長引いて、まだ途中なのに「時間切れ」になってしまうことがあります。
時間がないのは仕方ありませんが、次に作業を再開するときのために準備をしなければなりません。
今どきのプログラミングツールでは、作業途中の箇所につけたマーカーを記憶しておくなど、便利な機能があるのでそれを活用するだけでいいのですが、古い古い仕組みのVBAにはそれがありません。
そのためVBAで作業が途中になったときは、マクロのなかに途中だとわかるようにコメントを書くことが一般的な対応策になります。例えば、「'★」とか「'!!!」といったように、自分がわかりやすい共通のサインを決めておくのです。
ただしこの方法では、次に作業を再開するときにわざわざ検索する必要があります。そして、それをつい忘れて別の作業を始めてしまい、あとで困ることがあるのです。
そういうときに使えるテクニックが、今回紹介する「わざとエラーを出す」です。
メモのかわりにエラーを出す
やることは簡単で、次にここから作業を続けようと思う場所に、わざとエラーが発生するようにしておくだけです。
例えば、筆者の場合はマクロのなかに"beepzzz"という1行を入れるようにしています。

VBAでは"beep"でビープ音を鳴らせますが、"beepzzz"なんて命令はありません。もちろん、このマクロをそのまま実行しようとすれば「コンパイルエラー」が発生します。
でも、そのおかげで作業の続きを忘れてしまうことはありませんし、エラーが発生したコードを自動で表示してくれるのです!
あとは"beepzzz"を消して、途中になった前回の作業を続けるだけ。もちろん、その前後の位置に「なにをする必要があるか」をコメントとして残してあると便利です。
VBAのプログラミングに慣れてきて高機能のマクロを作ろうとしたときに、無理にキリが良いところまで終わらせようとすると、夜更かしになってしまってつらい思いをすることもあります。逆に、中途で投げ出した結果、わけがわからなくなって困ることもあるでしょう。そうやってプログラミングでつらい経験をしてしまうと、プログラミングがおもしろくなくなり、続きをやるのが億劫になってしまいます。
作業が途中でも中断し、あとで気楽に再開できる手段を初心者のうちに身に着けておくことは意外と重要なことです。プログラミングの上達にもつながりますので、"再開のテクニック"を身に着けておくことをオススメします!









