[VBA]多次元配列のRedimは最終次元しか変更できない

2017/01/20(金) 追記

2次元配列の1次元目をサイズ変更する方法を記事にしました → [VBA]2次元配列の1次元目をRedim Preserveする

説明

多次元配列のサイズ変更をReDim Preserveを使って行う場合、は最終次元しか変更できません。
実際やってみましたのサンプルコード

最終次元の長さだけ変更しているので、エラーにならないケース
最終次元の長さ変更はエラーなく実行できます。

Sub test()
    Dim arr() As String
    ReDim arr(10, 3)
    ReDim Preserve arr(10, 100)
End Sub

最終次元以外を変更しているので、エラーになるケース

Sub test()
    Dim arr() As String
    ReDim arr(10, 3)
    ReDim Preserve arr(100, 3)
End Sub

これを実行すると、下記のエラーが発生します。
最終次元以外を変更しているので、エラーになるケース

参照情報 → MSDNに「 Preserve を使用すると、配列の最後の次元だけサイズを変更できます。」という記載があります

One Reply to “[VBA]多次元配列のRedimは最終次元しか変更できない”

コメントを残す