ReDimステートメント 解説(Excel VBA)

ReDim ステートメントの解説

概要

「ReDim ステートメント」は、VBAにおいて動的配列のサイズを変更するためのステートメントです。動的配列は、そのサイズが実行時に定義され、必要に応じて変更できる特性を持ちます。「ReDim」を使用すると、すでに定義されている動的配列のサイズを変更できます。

意義

動的配列は、事前に要素数が不明な場合や要素数が変わる可能性がある場合に有効です。「ReDim ステートメント」を使用することで、プログラム実行中に配列のサイズを柔軟に変更することができます。

構文

ReDim [Preserve] arrayname(subscripts)

パーツ

Preserve: オプションのキーワード。これを指定すると、配列のサイズを変更しても元のデータを保持します。
arrayname: サイズを変更する動的配列の名前。
subscripts: 新しいサイズの指定。複数の次元を持つ配列の場合、カンマで区切って指定します。

サンプルプロシージャ

以下は、「ReDim ステートメント」の使用例です。

Sub ResizeArray()
    Dim MyArray() As Integer
    
    ' 配列のサイズを5に設定
    ReDim MyArray(1 To 5)
    
    ' 配列のサイズを10に変更し、元のデータを保持
    ReDim Preserve MyArray(1 To 10)
    
    ' 結果をメッセージボックスで表示
    MsgBox "配列のサイズは " & UBound(MyArray) & " です。", vbInformation, "配列のリサイズ"
End Sub

上記のコードでは、最初にサイズ5の配列を定義し、次にそのサイズを10に変更しています。Preserveキーワードを使用しているため、元のデータは保持されます。

関連するステートメントや関数

「Dim ステートメント」: 配列や変数を宣言するためのステートメント。
「UBound 関数」: 配列の上限のインデックスを取得する関数。

注意事項

1. 「ReDim ステートメント」を使用する際、Preserveキーワードを使用しないと、配列の既存のデータはクリアされます。
2. Preserveキーワードを使用する場合、配列の最初の次元のサイズのみを変更できます。複数の次元を持つ配列の場合、2番目以降の次元のサイズを変更することはできません。

上記の内容は「ReDim ステートメント」の基本的な情報を元にしたものです。具体的な使用ケースやより詳細な情報が必要な場合は、公式ドキュメントや参考書をご参照ください。