Redim

ランタイム時に配列の最大要素番号を変更します。

書式
Redim [Preserve] 配列名(配列変数の最大要素番号)

パラメーター

Preserve
配列の前の値を保存します。省略可能で、省略すると配列はクリアされます。
配列名
配列変数の名前を指定します。通常の変数名の慣例にしたがって指定します。あらかじめ配列が宣言されていなければなりません。
配列変数の最大要素番号
配列変数の新しい最大要素番号を指定します。変数宣言時と同じ数の最大要素番号を与えてください。次の書式を用います。
(最大要素番号1, [最大要素番号2], [最大要素番号3])
要素番号は0から始まるので、要素数は最大要素番号に1加えた数となります。
各最大要素番号は、全要素数が以下の最大値を超えない範囲で指定します。

String型以外 String型
ローカル変数 2,000 200
バックアップ変数 (Global Preserve) 4,000 400
グローバル変数とモジュール変数 100,000 10,000

解説
Redimは、ランタイム時に配列変数の最大要素番号を変更するときに使います。前の値を保存するときは、Preserve を指定します。

Byref指定された配列変数はRedimすることはできません。

頻繁なRedimの実行は、プログラムの実行速度を低下させます。特にバックアップ変数に対するRedimの実行は必要最小限にすることを推奨します。

参照
UBound

Redim使用例

Integer i, numParts, a(0)

Print "Enter number of parts "
Input numParts

Redim a(numParts)

For i = 0 to UBound(a)
    a(i) = i
Next

'最大要素番号を20追加します
Redim Preserve a(numParts + 20)

'最初の要素番号を保持
For i = 0 to UBound(a)
    Print a(i)
Next