【エクセルマクロ】縦データを横データに変換する:自動化が便利

エクセルマクロ_縦データ横データに変換_アイキャッチ エクセルマクロで効率化する

エクセルマクロで、縦データを横データに変換するVBAコードをご紹介します。

このページのマクロコードは、コピペで使えます。

縦データを横データに変換する

以下のExcelVBAを実行すると、縦データを横データに変換します。

Sub 縦リストを横リストに並び替え()

Dim i As Long
Dim j As Long
Dim Cnt As Long
Dim YokoLoop As Long
Dim TateLoop As Long
Dim TargetRow As Long

    '横ループ回数(A~G列)
    YokoLoop = 7

    '縦ループ回数(1~4行目)
    TateLoop = 4

    Cnt = 1
    TargetRow = 10

    '縦ループ
    For i = 1 To TateLoop

        '横ループ
        For j = 2 To YokoLoop
        
            If Cells(i, j) <> "" Then
        
                '転記開始行:10行目
                Cells(TargetRow, Cnt) = Cells(i, 1)
                Cells(TargetRow + 1, Cnt) = Cells(i, j)
                Cnt = Cnt + 1
                
            End If
                
        Next j
    Next i

End Sub

 

VBAコードの解説

[Cells(TargetRow, Cnt) = Cells(i, 1)] は、10行目にA列の値を転記します。

[Cells(TargetRow + 1, Cnt) = Cells(i, j)] は、11行目にB列以降の値を転記します。


 
 

【エクセルマクロ】縦データを横データに入れ替える:自動化が便利
...