銀河鉄道

【VBA】配列の縦横変換

サムネイル
配列縦横変換

ループ処理で配列の縦横変換

Public Function TransposeArray(ByRef ary As Variant) As Variant
    Dim Elm As Elm: Set Elm = New Elm
    Elm.Add ary
    
    Dim tmp As Variant
    ReDim tmp(Elm.xFirst To Elm.xLast, Elm.yFirst To Elm.yLast)
    
    Dim i As Long
    Dim j As Long
    For i = Elm.xFirst To Elm.xLast
        For j = Elm.yFirst To Elm.yLast
            tmp(i, j) = ary(j, i)
        Next j
    Next i
    
    TransposeArray = tmp
End Function

※方法2.WorksheetFunctionを使う(推奨しない)

ary = WorksheetFunction.Transpose(ary)

データ量が多いとエラーになることがあるため、使わないほうが無難

必要なもの

関連記事

シートに貼り付け

中身の操作

データの取得

著者

author
月うさぎ

編集後記:
この記事の内容がベストではないかもしれません。

記事一覧