###前提・実現したいこと
現在、2次元の動的配列において、順次行数、列数を増やすマクロを作成しようとしています。
###発生している問題・コード
具体的には、Arrで定義した2次元配列において、もし、現在の配列の列数が足りない場合は、以下のコードで列数を増やしていきます。
VBA
1ReDim Preserve Arr(UBound(Arr, 1), UBound(Arr, 2) + 1)
同様に、現在の配列の行数が足りない場合は、以下のコードで増やそうとしています。
VBA
1ReDim Preserve Arr(UBound(Arr, 1) + 1, UBound(Arr, 2))
が、上記の書き方で列数については増えていくものの、行数については上記のコードは無視されてしまいます。
(上記のコードに到達すると、ループから抜けてしまいます)
列側は順調に拡張していけるのですが、何故行数側は上記のコードでこけてしまうのでしょうか。
全体のコードは以下になります。
VBA
1 Dim Arr() As String: ReDim Arr(1, 1) 2 For Each r In Split(Node2.Text, vbLf) 3 For Each c In Split(r, ",") 4 If UBound(Arr, 2) < j Then 5 ReDim Preserve Arr(UBound(Arr, 1), UBound(Arr, 2) + 1) 6 Arr(i, j) = c 7 Else 8 If UBound(Arr, 1) < i Then 9 Debug.Print ("行の数=" & UBound(Arr, 1)) 10 '↓ここでコードがループから抜けてしまう 11 ReDim Preserve Arr(UBound(Arr) + 1, UBound(Arr, 2)) 12 Arr(i, j) = c 13 Else 14 Arr(i, j) = c 15 End If 16 End If 17 j = j + 1 18 Next 19 j = 0 20 i = i + 1 21 Next
ご助言いただければ幸いです。
宜しくお願いいたします。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/24 04:37
2017/02/24 04:39
2017/02/24 04:45
2017/02/24 05:33