1. TOP
  2. Excel
  3. Excel VBA(1)「Option Explicit」ってなんだ?

Excel VBA(1)「Option Explicit」ってなんだ?

目次

Excel VBAでプログラミングしていて、少し動くものが書けるようになってきたころ。ふと疑問に思った「Option Explicit」の存在。
モジュールの先頭に気が付くと記述されている。これはいったいなに?
(※環境設定によって自動的に記述されます。筆者は手動で記述しています。)

 

(1)変数の宣言を強制するもの

「Option Explicit」はここに記述されています


VBAでは、使用する変数の宣言を「Dim」文に記述します。上の例でも「ValueA」「ValueB」「ValueC」3つの整数型変数を宣言しています。「Option Explicit」文を記述すると、このような変数宣言が必ず必要となります。

 
スポンサードリンク

(2)変数宣言しなかった場合

(1)の例で、「ValueC」のみ変数宣言をしなかった場合はどうなるのでしょうか



「Option Explicit」文で変数宣言が強制されているため、コンパイルエラーとなります。


 

(3)「Option Explicit」記述なしで変数宣言しなかった場合

(2)の例で「Option Explicit」文を削除してみます



コンパイルエラーにならず実行できました。変数宣言していない「ValueC」は値が0ではないようです。

 

(4)宣言しなかった変数の正体

(3)の例で変数宣言していなかった「ValueC」は暗黙で「Variant型」として用意されています。「Variant型」には全てのデータ型を格納できます。



「ValueC」には文字列も格納できました。



 
VBAで「Option Explicit」文を記述すると、変数の宣言が強制されます。

「Variant型」は便利ですが「多用は控えたほうがよい」とも聞きます。できれば変数型を意識したいものです。

   
「ExcelVBAに関する書籍」を
楽天で探す     

「プログラミングに関する書籍」
yahooで探す     

スポンサードリンク

コメントを書き込む

入力エリアすべてが必須項目です。メールアドレスが公開されることはありません。

内容をご確認の上、送信してください。