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

2017/01/20(金) 追記

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

説明

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

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

1Sub test()
2    Dim arr() As String
3    ReDim arr(10, 3)
4    ReDim Preserve arr(10, 100)
5End Sub

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

1Sub test()
2    Dim arr() As String
3    ReDim arr(10, 3)
4    ReDim Preserve arr(100, 3)
5End Sub

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

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

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

コメントを残す