VBAでソースコードを書いたり、デバッグする際に便利な小技&設定をご紹介します。
Option Explicitを宣言セクションに記載する
Option Explicitを自動入力する
イミディエイトウィンドウで、小さくテストをする
Option Explicitを宣言セクションに記載する
Option Explicitは、使う変数の宣言を必須にする命令文です。Option Explicitを記載することで、宣言していない変数を使えなくなります。
変数の宣言を必須にすることで、変数のタイピングミスがあった時に「変数が定義されていません」というエラーメッセージが表示されるので、タイピングミスに気づくことができます。Option Explicitを記載していないと、エラーメッセージが表示されないので、ミスの箇所の特定が難しくなります。
Option Explicitを自動入力する
Option Explicitを毎回記載するのは手間なので、自動入力するよう設定を変更します。
ヘッダーメニューの ツール -> オプション でオプションポップアップを開き、編集タブを選択します。
「変数の宣言を強制する」にチェックを入れると、新規でVBAを作る際にOption Explicitが自動で記載されます。
イミディエイトウィンドウで、小さくテストをする
ソースコードは右上のコードウィンドウにいきなり記載するのではなく、イミディエイトウィンドウに入力してソースコードの正しさを検証してから、コードウィンドウ記載することをお勧めします。
いきなりコードウィンドウに記載するとバグが発生した際に、他の関数などと複合している状況のため、バグの発生場所の特定に時間がかかってしまいます。
イミディエイトウィンドウで小さくテストをして、正しいソースコードだけをコードウィンドウに記載することで、デバッグの時間を減らすことができます。
イミディエイトウィンドウには、「?」に続いて、テストしたいソースコードを入力し、Enterを押すと、結果が表示されます。
以下の事例では、A1セルにaが入っている状態で、a1のValueを確認しています。
イミディエイトで表示できるのは変数ひとつだけです。複数の変数や配列をそのまま表示することはできません。複数の変数や配列の中身を表示したいときは、Join関数を使うと良いです。
?Join(Split("東京,大阪,名古屋",","),"*")
結果:'東京*大阪*名古屋