【ExcelVBA】複数列の縦データを横1行にまとめるColumn-Rows-change
サンプルExcel
業務でデータを扱っていると、下記のようなデータを分析するときに、
横一行にしたいときってありますよね。
そんなときに一括で横一行に並び替えるVBAを作成しましたので紹介します。

1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,・・・というような横一行にしたい。
VBA
Option Explicit Sub 複数行のデータを1行にまとめる() Dim i As Long Dim Last_Clm As Long Dim Target_Clm As Long Dim irows As Long '転記開始列 Target_Clm = 1 irows = Cells(Worksheets("元データ").Rows.Count, 1).End(xlUp).Row '行分ループ For i = 1 To irows '最終列を取得 Last_Clm = Worksheets("元データ").Cells(i, Worksheets("元データ").Columns.Count).End(xlToLeft).Column 'コピ-して貼り付け Worksheets("元データ").Range(Worksheets("元データ").Cells(i, 1), Worksheets("元データ").Cells(i, Last_Clm)).Copy Worksheets("変換後").Cells(1, Target_Clm) '転記開始列 Target_Clm = Worksheets("変換後").Cells(1, Worksheets("元データ").Columns.Count).End(xlToLeft).Column + 1 Next i End Sub
実行結果
上記のVBAを実行すると、

横一行にデータを並び替えることができています。
ぜひ、業務に活用してみて下さい。