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

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

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

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

Preserveキーワード

名称Preserveキーワード
説明
配列の既存のデータを保持しながら、配列の要素数を変更します。

Redimステートメントと一緒に使用します。

【イメージ】
Preserveキーワードを付けてRedimステートメントを実行すると、古い箱の中身を保持したまま、箱のサイズを拡張します。
書式
Redim Preserve 配列名(新しい要素の下限 To 新しい要素の上限)

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

要素の下限を省略した場合は、要素の下限に0を指定したものと見なされます。
コード例①
Sub Macro1()
    '動的配列を宣言
    Dim arr() As String
    
    '要素数を指定
    ReDim arr(0)
    arr(0) = "Excel"
    
    '「Excel」が表示
    MsgBox arr(0)
    
    '既存のデータを保持したまま、要素数を変更
    ReDim Preserve arr(1)
    arr(1) = "VBA"
    
    '「ExcelVBA」が表示
    MsgBox arr(0) & arr(1)
End Sub

「ReDim Preserve arr(1)」で、「arr(0)」の値を保持したまま要素数を変更するため、「MsgBox arr(0) & arr(1)」で「ExcelVBA」がメッセージボックスに表示されます。
カテゴリスタンダード