静的配列の要素を最初期化/動的配列に割り当てたメモリを開放する(Eraseステートメント)
 引数Arraylistで指定した配列変数を消去します。静的配列、つまり要素数が
決まっているような配列では、各要素の値が初期化され、動的配列の場合には、
割り当てられていたメモリが開放されます。配列変数のタイプによる動作の違い
は、次の一覧のとおりです。


・配列変数の型別のEraseステートメントの実行結果
配列の型            Erase ステートメントの実行結果
静的数値配列          要素はすべて0に設定されます。
静的文字列配列(可変長)     要素はすべて長さ0の文字列("")に設定されます。
静的文字列配列(固定長)     要素はすべて0に設定されます。
静的バリアント型(Variant)配列 要素はすべてEmpty値に設定されます。
ユーザー定義型配列       各要素は、別個の変数として設定されます。
オブジェクト配列        要素はすべて特別な値Nothingに設定されます。


  構文 Erase Arraylist

 設定項目        内容
  Arraylist       消去する配列変数を指定 [省略不可]


 次のサンプルは、静的文字配列(可変長)における、Eraseステートメントの
動作を確認するためのものです。


●サンプル●

Sub EraseSamp1()

    '---静的文字配列
    Dim myArray(1 To 5) As String
    Dim i As Integer

    For i = 1 To 5
        '---静的文字配列の要素に値を設定
        myArray(i) = Chr(i + 64)
    Next
    MsgBox "myArrayの値 : " & Join(myArray(), ",")
    '---静的配列の場合は要素の値を初期化
    Erase myArray
    MsgBox "myArrayの値 : " & Join(myArray(), ",")

End Sub


●解説●
 Join関数を用いて、配列の中身をカンマ区切りで出力して確認しています。
Eraseステートメント実行以前と以後の状態を比較してみてくさだい。

Excel2000



戻る


Excel Word Access VBA! モーグ