- Home ›
- Excel VBA入門 ›
- 基本文法
VBAで変数の宣言を強制する
VBA では変数を使用するときに事前に宣言しておくことが推奨されていますが変数を宣言せずに利用してもエラートなりません。そこでモジュールの先頭で Option Explicit と記述すると、モジュール内では宣言されていない変数が使用できなくなります。ここでは VBA で変数の宣言を強制する方法について解説します。
(Last modified: )
変数の宣言を強制する
VBA では変数を使用する前に Dim
を使用して変数を宣言しますが、宣言していない変数を使用してもエラーにはなりません。次の例を見てください。
Sub プロシージャ名() Dim x x = 10 y = 16 ' 宣言していない変数を使用している End Sub
変数 x
は宣言したあとで変数に値を代入していますが、変数 y
は宣言せずに変数に値を代入しています。デフォルトの VBA の設定ではこのように宣言していない変数であっても利用してもエラーにはなりません。
宣言していない変数を使用した場合にエラーになるように設定するには、モジュールの先頭に Option Explicit
と記述します。
Option Explicit
先ほどのサンプルを次のように変更してみます。
Option Explicit Sub プロシージャ名() Dim x x = 10 y = 16 ' 宣言していない変数を使用している End Sub
このプログラムを実行してみると「変数が定義されていません。」というエラーになります。
このように宣言していない変数を使用するとエラーとなり、必ず変数の宣言が必要になります。
自動的にOption Explicitを記述する
新しいモジュールを作成すると、自動的にモジュールの先頭に Option Explicit
が記述されるように設定することができます。設定するには Visual Basic Editor の「ツール」をクリックし、表示されたメニューの中から「オプション」をクリックしてください。
「オプション」画面が表示されます。「編集」タブの中に「変数の宣言を強制する」というチェックボックスがあるのでチェックしてください。チェックが終わったら「OK」をクリックしてください。
これで新しいモジュールを作成すると自動的に Option Explicit
が記述されるようになります。
それでは実際に試してみます。 Visual Basic Editor の「挿入」をクリックし、表示されたメニューの中から「標準モジュール」をクリックしてください。
「標準モジュール」が追加され、コードウィンドウにモジュールの内容が表示されました。すると先頭に自動的に Option Explicit
が記述されました。
このようにモジュールを作成するたびに自動的に Option Explicit
が記述されるようになり、変数を使用する場合は宣言が必要となります。
-- --
VBA で変数の宣言を強制する方法について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
プログラミングや開発環境構築の解説サイトを運営しています。