投稿/コメントを表示します。

配列を研究し、「二次元配列の縦横入替」を知りました。
Excel自体のTranspose関数を呼び出すことで実現。Debug.Printで結果が同じになるので、うまくいっているようです。

実務で活用できそうな事例が思い当たりませんが、第一引数の行番号をRedim Preserveできない場合、縦横入替で 第二引数の行番号をRedim Preserveできることくらいでしょうか。
Sub Sample9_Transpose()
    Dim vList As Variant
    vList = Range("B4").CurrentRegion
    
    Dim c As Long
    'インデックスは1から!
    '第一引数が行番号!
    '表ではタイトルも含まれてしまうのでので注意!
    For c = LBound(vList, 1) To UBound(vList, 1)
        Debug.Print vList(c, 1), vList(c, 2), vList(c, 7)
    Next
    
    Debug.Print vbNewLine
    Dim v2List As Variant
    '二次元配列の縦横を入れ替え
    'インデックスは1から!
    '第一引数が行番号から列番号に変更される!
    v2List = Application.WorksheetFunction.Transpose(vList)
    For c = LBound(v2List, 2) To UBound(v2List, 2)
        Debug.Print v2List(1, c), v2List(2, c), v2List(7, c)
    Next
End Sub

2019/05/12 02:08