簡単な輸出インボイス作成マクロ (10)

IV) 変数 (Variables)

変数の適用範囲(Scope)と有効期間(Lifetime)

変数には、変数が適用される範囲と有効期間があります。

「適用範囲」と「有効期間」は、「宣言方法」と「宣言場所」によって規定されます。

プロシージャレベル変数

「プロシージャレベル変数」は、プロシージャ内で宣言する変数で、そのプロシージャ内でのみ使用できます。

変数内のデータはプロシージャが終了すると、破棄されます。今回の「輸出インボイス作成マクロ」が、この変数宣言にあたります。

モジュールレベル変数

下図のように、「モジュールレベル変数」は、モジュールの先頭にある「宣言セクション」で宣言する変数で、そのモジュールに含まれるすべてのプロシージャで使用できます。

「宣言セクション」とは、モジュールの先頭から最初のプロシージャまでの領域です。

パブリック変数

「パブリック変数」は、下図のように、「宣言セクション」で変数宣言をして、すべてのモジュール内のプロシージャで使用できるもので、データはブックが閉じられるまで、保持されます。

変数の種類 宣言場所 宣言方法 適用範囲 有効期間
プロシージャレベル変数 プロシージャ内 Dim 宣言したプロシージャ内でのみ使用できる プロシージャ実行中のみ値が保持される
モジュールレベル変数 宣言セクション Dim Private モジュール内のすべてのプロシージャで使用できる モジュールを閉じるまで値が保持される
パブリック変数 宣言セクション Public プロジェクトのすべてのプロシージャで使用できる ブックを閉じるまで値が保持される