【用語集に記載の内容について】

用語集に記載されているメソッドや関数の引数は、VBAエキスパート試験の試験範囲に基づいており、すべての引数を網羅しておりません。 また、書式は公式テキストの記載に準じています。
試験範囲外の引数や詳細については、ヘルプ機能やオブジェクトブラウザーをご参照ください。

【コードをコピーして実行する場合の注意】

文字コードの関係上、半角の「¥」は「/」で表示されるため、当サイトでは全角の「¥」で記載しています。当サイトのコードをコピーして実行する場合は、全角の「¥」を半角の「¥」に変換してください。

Redimステートメント

名称Redimステートメント
説明
動的配列の要素数を変更する命令です。

Redimステートメントは、既存の配列を破棄して、新しい配列を作成します。
そのため、既存の配列に格納されていたデータはすべて失われます。

【イメージ】
Redimステートメントは、古い箱を処分して、新しい箱を作り直します。
書式
Redim 配列名(要素の下限 To 要素の上限)

要素の下限[省略可能]:最小インデックス番号を指定
要素の上限:最大インデックス番号を指定

要素の下限を省略した場合は、要素の下限に0を指定したものと見なされます。

Redimステートメントで要素数を変更した場合、既存の配列に格納されていたデータはすべて失われます。
既存のデータを保持したまま要素数を変更する場合は、Preserveキーワードを使用します。
コード例①
Sub Macro1()
    '動的配列を宣言
    Dim arr() As String
    
    '要素数を指定
    ReDim arr(0)
    arr(0) = "Excel"
    
    '「Excel」が表示
    MsgBox arr(0)
    
    '要素数を変更
    ReDim arr(1)
    arr(1) = "VBA"
    
    '「VBA」が表示
    MsgBox arr(0) & arr(1)
End Sub

「ReDim arr(1)」で、「arr(0)」の値「Excel」は削除されるため、「MsgBox arr(0) & arr(1)」で「VBA」がメッセージボックスに表示されます。
カテゴリスタンダード