VBAでOption Explicitとは?

EXCEL

はじめに

Option Explicit‘ はVBA (Visual Basic for Applications) で使用されるディレクティブで、変数の宣言を強制する役割を持っています。これが有る場合と無い場合で、コードの動作には以下の違いが生じます。

Option Explicit が有る場合

  • 変数を利用する前に、すべて宣言しなければなりません。
  • 宣言していない変数を使おうとした場合、コンパイルエラーが現れます。
  • このため、タイプミスや未宣言の変数によるバグを防ぐことができます。

例:

Option Explicit

Sub Example()
Dim x As Integer
x = 10
y = 20 ' ここでコンパイルエラーが発生します。y が宣言されていないためです。
End Sub

Option Explicitを設定すると、未定義の変数を使用した際にエラーメッセージが表示されます。

Option Explicit が無い場合

  • 変数を宣言しなくても利用可能です。
  • ただし、タイプミスや未宣言の変数によるバグが発生しやすくなります。

例:

Sub Example()
x = 10
y = 20 ' ここではエラーは発生しませんが、x や y が宣言されていないため、バグの原因になります。
End Sub

未宣言の変数が定義されていてもコードを書くことはできますが、気づかずにその変数を使用すると、バグの原因になります。

結論

Option Explicit はオプションの機能ですが、使うことを推奨します。これにより、コードの品質が向上し、バグの原因となるタイプミスや未宣言の変数を防ぐことができます。