@Robert_Martin try below
Dim dt_2 As DataTable = New DataTable()
' Add first 8 columns as headers
For i As Integer = 0 To 7
dt_2.Columns.Add(dt_1.Columns(i).ColumnName)
Next
' Convert every next 8 columns into rows
For Each row As DataRow In dt_1.Rows
For i As Integer = 8 To dt_1.Columns.Count - 1 Step 8
Dim newRow As DataRow = dt_2.NewRow()
For j As Integer = 0 To 7
If i + j < dt_1.Columns.Count Then
newRow(j) = row(i + j)
End If
Next
dt_2.Rows.Add(newRow)
Next