Excel VBA(Visual Basic for Applications)における「Dim」「Private」「Public」の使用方法について解説します。これは、変数やプロシージャ(関数やサブプロシージャ)のスコープ(可視性と存続期間)を定義するために使用されるキーワードです。
Dimキーワードとは
【概要】
Dim(Dimensionの略)キーワードは、ローカル変数を宣言するのに使用されます。これにより宣言された変数は、その変数が宣言されたプロシージャ内でのみ利用可能です。
Sub ExampleProcedure()
Dim exampleVariable As Integer
exampleVariable = 10
MsgBox exampleVariable
End Sub
exampleVariableはExampleProcedureサブプロシージャ内でのみ有効です。
Privateキーワードとは
【概要】
Privateキーワードは、変数やプロシージャがそのモジュール内でのみアクセス可能であることを示します。これは、特定のクラスモジュールや標準モジュール内でのみ使用されます。
Private Sub ExamplePrivateSub()
MsgBox "This is a private sub"
End Sub
ExamplePrivateSubプロシージャは、宣言されたモジュール内でのみ呼び出すことができます。
Publicキーワードとは
【概要】
Publicキーワードは、変数やプロシージャがプロジェクト内のどこからでもアクセス可能であることを示します。これは、グローバル変数やプロシージャを作成する際に特に役立ちます。
Public exampleVariable As Integer
Public Sub ExamplePublicSub()
exampleVariable = 20
MsgBox exampleVariable
End Sub
スコープと存続期間の理解
【ローカル変数】
Dimを使用して宣言された変数は、そのプロシージャが実行されている間のみ存続します。プロシージャの実行が終了すると、これらの変数はメモリから削除されます。
【モジュールレベル変数】
PrivateやPublicを使用してモジュールレベルで宣言された変数は、Excelが開かれている間は存続します。これらは、プロシージャ間で値を共有するのに便利です。