2017/01/20(金) 追記
2次元配列の1次元目をサイズ変更する方法を記事にしました → [VBA]2次元配列の1次元目をRedim Preserveする
説明
多次元配列のサイズ変更をReDim Preserveを使って行う場合、は最終次元しか変更できません。
実際やってみましたのサンプルコード
最終次元の長さだけ変更しているので、エラーにならないケース
最終次元の長さ変更はエラーなく実行できます。
1 | Sub test() |
2 | Dim arr() As String |
3 | ReDim arr(10, 3) |
4 | ReDim Preserve arr(10, 100) |
5 | End Sub |
最終次元以外を変更しているので、エラーになるケース
1 | Sub test() |
2 | Dim arr() As String |
3 | ReDim arr(10, 3) |
4 | ReDim Preserve arr(100, 3) |
5 | End Sub |
これを実行すると、下記のエラーが発生します。
参照情報 → MSDNに「 Preserve を使用すると、配列の最後の次元だけサイズを変更できます。」という記載があります
One Reply to “[VBA]多次元配列のRedimは最終次元しか変更できない”