一次元配列を二次元配列に変更したい
一次元配列を取得した後、二次元配列に変更したい場合があります。
その場合は、以下のパーツ化した処理で変更可能です。
一次元配列を二次元配列に変更するサンプルコード
’■一次元配列を二次元配列に変換するモジュール 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であっても正常動作します。
コメント
[…] 二つめの引数を省略すると、一行の配列に入る二次元になり、二つ目の引数に何か文字列を入れると、一列の配列に入る二次元になります。このファンクションは、「一次元配列を二次元配列に変換する」参考にしています。 […]