Excel-VBA プログラミング

【Excel-VBA】Option Explicitは必ず付けよう~使い方を徹底解説!

モジュールにVBAを記述しているときに、モジュールの上部に表示される「Option Explicit」。

悩む女性1

  • この表示はいったいどんな意味があるの?
  • またどのように利用するんだろう?

 

その使い方について解説していきましょう。

モジュール内のOption Explicitとは

この「Option Explicit」とは、簡単に言うのであれば、

変数やAPI関数を記述する場所」です。

 

<Option Explicitとは・・・>

  • モジュール内の変数・API関数を表示する領域
  • Option Explicitを記載する場合、変数宣言が必須

 

一度この「Option Explicit」を記述することで、変数を宣言していない場合、

コンパイルすると、「変数が宣言されていませんよ。」とエラーが表示されます。

 

また逆にこの表示が記述されていないモジュールでは、変数の宣言がなくてもエラーが表示されないため、記述が曖昧な表示になることがあり、正しく処理が動作してなくても分析がしにくくなってしまいます。

そのため、このOption Explicitは、なるべく記述しておいた方がよいものとなります。

 

Option Explicitの画面イメージ

表示箇所は、下記に記載される「モジュールの上部」がOption Explicitの宣言セクションになります。

このOption Explicit部分に宣言してあげましょう。

 

Option Explicitの使い方

 

それでは、このOption Explicitの使い方について解説していきましょう。

Option Explicitは、主に変数やAPI関数を記述する際に使用しますが、その他にも下記のメリットがあります。

 

<Option Explicitの主な使い方と利用メリットとは>

  • モジュール内のWindows API関数
  • モジュール内の共通変数を宣言する
  • モジュール内であればCall文による変数引き渡しの宣言が不要
  • 変数の宣言が誤っていないかを確認できる環境を作るため

 

主に、上記4つの場合に、利用するとよいのですが、基本的に、プログラムを記述する場合には、このOption Explicitをあらかじめにセットするようにしてしまいましょう。

 

Option Explicitはどんな時に使用するの?

このOption Explicitを使用するメリットには、主に下記の3つがあります。

 

<Option Explicitの3つの利用目的>

  • 記述を丁寧にまとめる時
  • 変数の使い方が間違っていないかをエラー確認ができる
  • 同一モジュール内で変数を使用したい時

 

 

 

【記述の一例】

 

 

Option Explicitを使用しないとどうなるの?

変数を使用しないのであれば、こちらの表示は消しても構いません。

しかし、変数を宣言するのであれば、Option Explicitを記述してその上に変数を宣言するようにして下さい。

管理者
悩む女性1

それは、どうしてですか??

もし同じ変数の宣言が重複していたら、どうなると思いますか?実は、変数宣言した値に思ってもいない値が入ってきてしまいます。

管理者

 

下記をご覧下さい。

 

この場合には「Dim a as string」が重複しています。この記述だと、Option Explicitを使用していれば、「重複しています。」と、エラーが表示されます。

ここでもしOption Explicitを宣言していない場合、エラーも表示されません。

これが非常に危険です。だから、この宣言が必要なんですね~。

管理者

 

Option Explicitのおすすめな自動表示設定方法

そこでおすすめな設定があります。

それがこちら。

 

ポイント

【自動表示の設定方法】

・「ツール」⇒「オプション」⇒「変数宣言を強制する」にチェックを入れる

上記手順に従って「変数の宣言を強制する」にチェックを入れておきましょう。すると、変数宣言が誤った場合にエラーメッセージを出して、間違えを気付かせてくれます。

こうした自動デバッグ機能を使って、正しい変数の宣言の仕方を学ぶようにしていきましょう。

 

まとめ

このように、「Option Explicit」は、VBAの変数宣言をする上で、間違いや重複がないかを自動チェックしてくれる。プログラマーに気付かさせてくれるので、非常に便利な機能の一つです。

だからこそ、プログラムを記述するタイミングであらかじめに記述してしまう基本事項の一つでもあります。

しっかり機能の意図を理解しながら、一つ一つ覚えていきましょう。

 

 


➡【月3万稼げる!ブログの始め方】


→当ブログをフォローして頂けると励みになります。 


楽天おすすめ商品はこちら

  • この記事を書いた人
  • 最新記事

みやさん

【サイト運営者・著者】みやさん 【実績】ライター歴7年 ブログ歴3年⇒2万PV推移中 【実務】現役プログラマー|【発信内容】▶副業やブログの始め方 ▶ライターとしてのノウハウ ▶生活の有益情報を発信しています。皆様の生活改善にご利用ください。

Copyright© 副業ケアネット , 2024 All Rights Reserved Powered by AFFINGER5.