VBAで変数の宣言を強制する2つの方法とは?

VBAで変数の宣言を強制する2つの方法とは? VBA/マクロ
この記事は約3分で読めます。

ExcelVBAは初心者向けと言われています。
そのせいかデフォルトでは変数を宣言しなくてもエラーにならない仕様になっています。
ここではVBAで変数の宣言を強制するための設定方法を解説していきます。
なお、設定方法は2通りあります。

この記事でわかること
  • VBAで変数の宣言を強制するための2通りの設定方法がわかる

VBAで変数の宣言を強制する方法①(オプション設定)

まず1つ目は、VBAのオプションを設定する方法です。
設定手順は次の通り。

変数の宣言を強制するためのオプション設定手順
  • 1
    VBEの「ツール」メニューを開いて、「オプション」をクリックする
    ExcelVBAツールメニューからオプションを選択
  • 2
    「オプション」ダイアログで「変数の宣言を強制するオプション」にチェックを入れる
    ExcelVBA変数宣言を強制するオプション設定

変数宣言強制のオプションを設定した後は、例えば標準モジュールを新しく作って開くとこんな風になってます。
ここに書かれている「Option Explicit」が変数宣言を強制させるためのコードです。

VBA変数宣言強制オプション設定後の自動生成コード
おじたか
おじたか

VBAであっても変数の宣言を強制することをおすすめします。ですので、このオプション設定は必ずやっておいてほしいです。変数宣言を強制した方がいい理由は、後ほど解説します。

VBAで変数の宣言を強制する方法②(Option Explicitを記述)

オプション設定をしない場合は、自分で「Option Explicit」を記述すれば変数の宣言を強制できます。
それが2つ目の方法です。
やり方は、変数宣言を強制したいモジュールファイルの先頭に「Option Explicit」と書くだけでOK。

VBA変数宣言強制オプション設定後の自動生成コード
おじたか
おじたか

繰り返しになりますが、変数の宣言は強制する方がいいです。「Option Explicit」を毎回書くのはめんどうだし、書き忘れることもあるでしょう。だから、最初に説明したオプションで設定しておくのが良いと思います。

VBAで変数の宣言を強制するべき2つの理由

ここまでで変数の宣言を強制する方法がわかりました。
最後に「なぜ変数の宣言を強制するのがいいのか?」、その理由について軽く触れておきます。

VBA変数の宣言を強制するのがいい理由
  1. 変数のスペルミスに気付かない
  2. (後でソースコードを見返したとき)どんな変数がどういう用途で使われているかわかりにくい

この2つのうち、「変数のスペルミスに気付かない」はプログラムのエラーを引き起こしかねません。
自分は同じ変数のつもりでも、スペルミスをしてしまったら異なる変数として扱われます。
その結果、自分の意図通りの動作をしない可能性があるのです。

こうした問題を防ぐために変数の宣言を強制し、使う変数は必ず宣言する方がいいのです。
宣言を強制していれば、スペルミスした変数は「宣言されていない変数」としてコーディングエラーになり、そこで間違いに気づけるのです。

まとめ

この記事は、ExcelVBAで変数の宣言を強制する設定方法を紹介しました。
「あれ?どうやって強制するんだったっけ??」と、やり方が思い出せないときの参照用として活用してください。

この記事のまとめ
  • VBAで変数の宣言を強制する方法は2つある
    1. VBAのオプションで設定する方法
    2. 「Option Explicit」をソースコードに直接記述する方法
  • 変数宣言を強制しておけば、意図しない変数の使われ方を防げる

コメント

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