配列(一次元/二次元)

一次元配列を二次元配列に変換する【ExcelVBA】

一次元配列を二次元配列に変更したい

一次元配列を取得した後、二次元配列に変更したい場合があります。
その場合は、以下のパーツ化した処理で変更可能です。

一次元配列を二次元配列に変更するサンプルコード

’■一次元配列を二次元配列に変換するモジュール
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

注意点

関連記事

コメント

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

タイトルとURLをコピーしました