t-hom’s diary

主にVBAネタを扱っているブログ…とも言えなくなってきたこの頃。

VBA マクロの記録はVBエディタを出した状態でするべし

VBAの入門書にはマクロの記録が紹介されているが、操作内容がどのコードに置き換わるのか、初心者がパッと見て理解するのは難しい。

そこでオススメする方法は、マクロの記録開始前にVBエディタを出して並べておく方法である。

横に並べておけば、操作するそばからガンガンコードが自動入力される。

f:id:t-hom:20150711104552p:plain

面白いのは、記録しながらも編集できるということ。

余計な操作をしてしまったと思ったら、その部分をコードエディタでそのまま編集できるのだ。

編集後に操作を再開すると、また最後尾からコードの自動追記がはじまる。

さらに面白いと思ったのは、記録の途中でもそのマクロを実行できてしまうということ。
コードエディタで実行ボタンを押せば記録途中のマクロを実行できる。
記録と関係ないマクロも実行できるし、イミディエイトウインドウによるコード実行も可能。

例えば、セルに文字を記入するマクロを記録し、最後に消去する操作も記録する。

消去部分のコードを切り取って別のSubにして実行し、記入部分のコードを実行してうまくいくかどうか試すこともできる。それもマクロの記録を止めることなく。開発効率上がることまちがいなし。


対象マクロごと消したらさすがに記録が停止されるだろうと思ってやってみたが、なんとそのままGeneral領域に追記がはじまった。

f:id:t-hom:20150711105807p:plain

ちなみにこれをSub マクロ名とEnd Subで囲み直すと、ちゃんと元通りEnd Subの上に追記してくれる。

恐るべしマクロの自動記録。

これを活用すれば、記録と手動編集のコンビネーションで高速にマクロが作れるようになるはず。

当ブログは、amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、 Amazonアソシエイト・プログラムの参加者です。