二次元配列の一次元目の要素を増やすには以下方法があります。
実際には65537件以上はTranspose関数を利用した場合は正常にデータ取得できません。
どのような結果になるか検証しました。
Transposeを使って65537件以上のデータを処理したら?
Public Sub test() Dim arr As Variant '■配列の宣言 ReDim arr(1 To 65537, 1 To 30) '■arr(1 To 65538, 1 To 30)なるはずが、arr(1 To 2, 1 To 30)に変換されてしまう arr = Call_RedimPreserveArray(arr, 65538) '■その為実効時エラー9 インデックスが有効範囲にありませんが表示されてしまう Debug.Print arr(65536, 1) End Sub
結果
65536を超える(65537以上になると)下方から差し引いた要素数の配列になってしまう。
※Transpose Methodには制限(2^16 =65536)があるため。
配列の一次元目を増やしたい場合は、別配列に代入しましょう。
コメント