技術情報
変数と定数
変数はプログラム中で値を変更したり参照したりすることができます。
定数はプログラム中で固定値として参照されます。

変数
変数宣言の方法には以下の3タイプがあります。
(1) Dim "変数名" As "データ型"
サブルーチン内、関数内、モジュールの先頭で変数を宣言する際に用います。
サブルーチン内、関数内で宣言した場合には、そのサブルーチン、関数内でのみ有効な変数となります。
そのサブルーチン、関数外では利用できない変数となります。
モジュールの先頭で宣言した場合には、そのモジュール内のサブルーチン、関数から共通利用できるようになります。
そのモジュール外では利用できない変数となります。
(2) Private "変数名" As "データ型"
モジュールの先頭で変数を宣言する際に用います。
そのモジュール内のサブルーチン、関数から共通利用できますが、そのモジュール外では利用できない変数となります。
サブルーチン、関数内ではこの方法で変数を宣言することはできません。
(3) Public "変数名" As "データ型"
モジュールの先頭で変数を宣言する際に用います。
プロジェクト内(ワークブック内)のすべてのモジュールから共通利用できます。
サブルーチン、関数内ではこの方法で変数を宣言することはできません。

"変数名"は、自由な名前をつけることができます。
但し、システムで使用されている単語(If、Publicなどの予約語)は使用できません。

"データ型"を省略した場合には、Variant型と見なされます。

変数の参照例を下図に示します。


上図で登場する変数の参照関係を表にすると以下のようになります。
○印は参照・代入が可能であることを示します。
×印は参照・代入ができないことを示します。
Str1A Str1B Str1C Str1D Str2B Str2C
標準モジュール1 × × ×
Test1() × ×
Test2() × ×
標準モジュール2 × × × × ×
Test3() × × × ×
ユーザ定義定数
定数はプログラム中で固定値を共通利用するために定義します。
モジュールの先頭で定数の宣言と代入を行い、プログラム中では参照のみが可能で、変更することはできません。
サブルーチンや関数内で定数を宣言することはできません。
定数宣言の方法には以下の3タイプがあります。
(1) Const "定数名" As "データ型" = "値"
(2) Private Const "定数名" As "データ型" = "値"
(1)と(2)は同等で、宣言されているモジュール内でのみ有効な定数となります。
他のモジュールからこの定数を参照することはできません。
Privateキーワードを省略した場合には、Privateキーワードがつけられた定数と見なされます。
(3) Public Const "定数名" As "データ型" = "値"
すべてのモジュールで参照可能な定数となります。

(例)
Const StrTitle As String = "タイトル"
Public Const IntA As Integer = 100
...
システム組込定数
VBAにはあらかじめいくつかのPublicな定数が定義されています。
詳しくはVBAのヘルプを参照してください。