Assuming your data starts from row 1:
Sub a()
Dim i As Long, c As Long, ws1 As Worksheet, ws2 As Worksheet
Set ws1 = ActiveSheet
Set ws2 = Sheets.Add
ws2.Cells(1, 1).Resize(, 3).Value = Array("Header1", "Header2", "Header3")
With ws1
For i = 1 To .Cells(rows.Count, 1).End(xlUp).row
For c = 3 To .Cells(i, Columns.Count).End(xlToLeft).Column
ws2.Cells(rows.Count, 1).End(xlUp).Offset(1).Resize(, 3).Value = Array(.Cells(i, 1).Value, .Cells(i, 2).Value, .Cells(i, c).Value)
Next
Next
End With
Set ws2 = Nothing
Set ws1 = Nothing
End Sub
Bookmarks