ローカル変数の有効期間は、宣言されたプロシージャの制御が開始されるときに始まります。すべてのローカル変数は、プロシージャの実行が開始されるとすぐに、データ型の既定値に初期化されます。プロシージャは、初期値を指定する Dim ステートメントを検出すると、コードで他の値が既に割り当てられていたとしても、その初期値をローカル変数に設定します。
構造体変数の各メンバは、独立した変数として初期化されます。同様に、配列変数の各要素も個別に初期化されます。
プロシージャ内部のブロック内で宣言された変数 (For ループなど) は、そのプロシージャへのエントリ時点で初期化されます。これらの初期化は、コードによってそのブロックが実行されるかどうかにかかわらず、有効になります。