Excel VBAでの変数の適用範囲について記載します。
変数は、宣言した場所によって利用できる適用範囲が決まっています。
① プロシージャ内だけで使用できる変数
プロシージャ内で作成された変数は他のプロシージャでは使用ができません。
サンプルで確認しましょう。
sample1プロシージャでmessage変数が使用できています。
sample2プロシージャを実行するとエラーになります。
sample1プロシージャ内で宣言したmessage変数をsample2プロシージャで使用しているのでエラーになります。
② モジュール内の全てのプロシージャ内で使用できる変数
モジュールの宣言セクションでPrivate宣言された変数はモジュール内の全てのプロシージャで使用できます。
サンプルで確認しましょう。
sample1プロシージャ、sample2プロシージャでmessage変数が使用できています。
③ 全てのモジュール内で使用できる変数
モジュールの宣言セクションでPublic宣言された変数は全てのモジュール内で使用できます。
サンプルで確認しましょう。
sample1プロシージャ、sample2プロシージャ、sample3プロシージャで変数が使用できています。
変数の適用範囲と宣言する場所をまとめた表になります。
変数宣言 | 宣言する場所 | 適用範囲 |
---|---|---|
Dim 変数名 As 変数の型 | プロシージャ内 | プロシージャ内 |
Private 変数名 As 変数の型 | 宣言セクション | モジュール内の全てのプロシージャ |
Public 変数名 As 変数の型 | 宣言セクション | 全てのモジュール内 |
今回ご紹介した内容はExcel VBA Standard試験対策の範囲となります。