Sub DiagonalToHorizontal()
Dim vNRows As Long, vNColumns As Integer
Dim vA1, vA2, vN1 As Long, vN2 As Integer
vNRows = Rows(1).Cells(Rows.Count, "A").End(xlUp).Row
vNColumns = Columns(1).Cells(1, Columns.Count).End(xlToLeft).Column
vA1 = Range("A1", Cells(vNRows + vNColumns - 2, vNColumns)).Value
vA2 = vA1
For vN1 = 2 To vNRows
For vN2 = 2 To vNColumns
vA2(vN1, vN2) = vA1(vN1 + vCounter, vN2)
vCounter = vCounter + 1
Next vN2
vA2(vN1, 1) = "Gr " & vA1(vN1, 1)
vCounter = 0
Next vN1
Range("H1").Resize(vNRows, vNColumns) = vA2
End Sub