二次元配列の一次元目の要素を増やすには以下方法があります。
実際には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)があるため。
配列の一次元目を増やしたい場合は、別配列に代入しましょう。



コメント