一次元配列を二次元配列に変更したい
一次元配列を取得した後、二次元配列に変更したい場合があります。
その場合は、以下のパーツ化した処理で変更可能です。
一次元配列を二次元配列に変更するサンプルコード
’■一次元配列を二次元配列に変換するモジュール
Public Function Call_ArrayTo2DArray(arr As Variant, col As Long) As Variant
Dim buf() As String: ReDim buf(UBound(arr), col)
Dim i As Long
For i = LBound(arr) To UBound(arr)
buf(i, LBound(arr)) = arr(i)
Next i
Call_ArrayTo2DArray = buf
End Function
使い方
上記をお好きなモジュール内にコピペしてください。
実際に使用する時は以下のような形で使用してください。
Public Sub sample()
Dim arr As Variant
arr = Array(1, 2, 3, 4, 5)
'■arr(0 to 4)をarr(0 to 4,0 to 3)の状態にする
arr = Call_ArrayTo2DArray(arr, 3)
End Sub
注意点
- Option Base1であっても正常動作します。



コメント
[…] 二つめの引数を省略すると、一行の配列に入る二次元になり、二つ目の引数に何か文字列を入れると、一列の配列に入る二次元になります。このファンクションは、「一次元配列を二次元配列に変換する」参考にしています。 […]