【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を実行すると、
横一行にデータを並び替えることができています。
ぜひ、業務に活用してみて下さい。