I assume every row does not really have values of 1,2,3,4,5,6,7,8? Is there a column that can serve as a record ID? Is there a header row?
Perhaps you should post real data or provide worksheet. See instructions at bottom of my post.
Here is one approach:
Sub Macro1() Dim x As Integer
Columns("A:A").Insert Shift:=xlToRight ', CopyOrigin:=xlFormatFromLeftOrAbove
Range("A1").FormulaR1C1 = "1"
Range("A1").AutoFill Destination:=Range("A1:A" & Cells(Rows.Count, 2).End(xlUp).Row), Type:=xlFillSeries
Rows(1).Insert Shift:=xlDown ', CopyOrigin:=xlFormatFromLeftOrAbove
For x = 1 To 9
Cells(1, x).Value = Chr(65 - 1 + x)
Next
Const adOpenStatic = 3
Const adLockOptimistic = 3
Const adCmdText = &H1
Dim cn As Object, rS As Object
Set cn = CreateObject("ADODB.Connection")
Set rS = CreateObject("ADODB.Recordset")
cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & ThisWorkbook.FullName & ";" & _
"Extended Properties=""Excel 12.0;HDR=Yes;IMEX=1;TypeGuessRows=0;ImportMixedTypes=Text"""
rS.Open "SELECT [A],1 AS Seq,[B],[C],[D],[E] FROM [Sheet1$] " & _
"UNION SELECT [A],2,[F],[G],[H],[I] FROM [Sheet1$]", cn, adOpenStatic, adLockOptimistic, adCmdText
Sheet1.Range("K2").CopyFromRecordset rS
End Sub