VBAで配列を初期化するには、Eraseステートメントを使います。ここではイミディエイトウィンドウに実行結果を表示し初期化結果を確認します。
イミディエイトウィンドウを表示するには、メニューの[表示]~[イミディエイト ウィンドウ]をクリックします。
イミディエイトウィンドウに表示するには、Debug.Printを使います。
Debug.Printは変数や配列の内容をデバッグのためだけに表示させることができるので、バグ取りには大変便利な機能です。
■ 数値型の配列を初期化します
下記のVBAコードを入力します。
≪実行の流れ≫
1.数値型の配列numarrayを宣言します。
2.Forループで配列に数値を代入します。
3.Debug.Printでイミディエイトウィンドウに配列に代入された数値を表示します。
4.Eraseステートメントで配列を初期化します。
5.Debug.Printでイミディエイトウィンドウに初期化された配列を表示します。
Option Compare Database
Sub MyArray()
Dim i As Long
Dim numarray(10) As Long
For i = 0 To 10
numarray(i) = i * 10
Next
For i = 0 To 10
Debug.Print numarray(i)
Next
Debug.Print "値の代入完了" & vbCrLf
Erase numarray
Debug.Print "初期化完了" & vbCrLf
For i = 0 To 10
Debug.Print i & ":" & numarray(i)
Next
End Sub
実行結果のイミディエイトウィンドウです。
代入完了までは数値が表示されていますが、初期化後の配列は0が表示されています。
これでEraseステートメントによって、数値型の配列が初期化されたことが分かります。
■ 文字型の配列を初期化します
下記のVBAコードを入力します。
≪実行の流れ≫
1.文字型の配列sarrayを宣言します。
2.配列に文字列を代入します。
3.Debug.Printでイミディエイトウィンドウに配列に代入された文字列を表示します。
4.Eraseステートメントで配列を初期化します。
5.Debug.Printでイミディエイトウィンドウに初期化された配列を表示します。
Sub MyStrArray()
Dim i As Long
Dim sarray(3) As String
sarray(0) = "キャベツ"
sarray(1) = "玉ねぎ"
sarray(2) = "長ネギ"
sarray(3) = "もやし"
For i = 0 To 3
Debug.Print sarray(i)
Next
Debug.Print "値の代入完了" & vbCrLf
Erase sarray
Debug.Print "初期化完了" & vbCrLf
For i = 0 To 3
Debug.Print i & ":" & sarray(i)
Next
End Sub
実行結果のイミディエイトウィンドウです。
代入完了までは文字列が表示されていますが、初期化後の配列は何も表示されていません。
これでEraseステートメントによって、文字型の配列が初期化されたことが分かります。