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