サラリーマンの投資と仕事研究所

サラリーマンのビジネス手法研究とその実践記録

Excelで実施している処理をVBAでどう書くかはマクロの記録で調べるべし

Excelの普段の業務をVBAで書きたい!実現したい!という時に基本に立ち返り、オブジェクトメソッドに分けてどのようにVBAで実現したらよいか考える、というのが王道だと思いますがなかなか調べたりテストしたりするのが面倒な時があります。
その際に役に立つのがマクロの記録という機能です。

<目次>

マクロとは

例えばVBAでA1に100を入力するプログラムを書いてみます。

Sub InputNumber()

Range("A1").Value=100

End sub

このプログラムを書いた時点でエクセル側はInputNumberというマクロとして認識します。
Excelの開発タブからマクロの一覧を開くとInputNumberというマクロが認識されており、このことからもVBEで書かれたプロシージャーごとにエクセル側ではマクロと認識されていることがわかります。
(個人的にはVBEで実行するのが好きですが、エクセルの開発でマクロ一覧を呼び出し、エクセルから実施することもできます。)
VBAで書いたプロシージャーはエクセル側でマクロと認識されるという点がポイントです。

マクロの記録がリファレンスにぴったり

エクセルで「マクロを記録」を行うと、Excel側で行った処理をVBAになおしてVBEに自動的に記載していってくれます。
エクセルとVBEを横並びに置いて、マクロの記録を実行してエクセルの操作を続けていると作業毎にどんどんVBEに記述されていっていることがわかります。

VBAを自分で書く時に処理のやり方に困ったらインターネットで調べるのも良いですが、マクロの記録を使ってオブジェクトの指定の仕方や、メソッドの記載の仕方を調べるのが楽で良いです。

生成されたVBAの記述をコピー&ペーストで活用できるので非常に簡単に操作を調べて、テストまで持っていくことができます。

まとめ

普段エクセルを使って行っていることをVBAにするなら、マクロの記録を使って処理方法を確認するのが簡単で良い方法です。