0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Option Explicitについて学んだこと

Posted at

Option Explicitとは

モジュールの先頭行にOption Explicitを追加すると、
すべての変数を宣言してから使うことが必須となります。
これにより、タイプミスなどのケアレスミスに気づきやすくなります。

Option Explicitが必要な理由

以下はバグの例です。

Sub showlength()
    Dim length As Long
    length = 10
    MsgBox lenght ' ←変数名が間違っている(lenghtになっている)
End sub

このように変数名をタイプミスしても、Option Explicitが明記されていれば、マクロ実行時に以下のコンパイルエラーが出ます。

コンパイルエラー:
変数が定義されていません

Option Explicitがない場合

もしOption Explicitを入れていないと、タイプミスした変数lenghtは新しい変数として自動的に作られます。
VBAでは宣言されていない変数はVariant型として扱われます。

その結果、MsgBoxは空白を表示し、エラーにはならず意図しない結果となります。

Option Explicitを自動で入れるための設定

  1. VBAエディタを開く
  2. メニューの「ツール」→「オプション」を押す
  3. 編集のタブで、「変数の宣言を強制する」にチェックを入れる

これで新しく作るモジュールにはOption Explicitが自動で追加されます。

まとめ

  • Option Explicitを使うことで、未宣言の変数使用を防げる
  • タイプミスにすぐ気づける
  • 一度設定すれば自動で追加される
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?