If I understand correctly, it's just a matter of swapping rows for columns and eliminating the unused columns A to C.
I have left in the headers that were in the original. If you don't need them, remove them from the code.
Option Explicit
Sub CreateTest2()
Dim wdApp As Object
Dim wdDoc As Object
Dim oRng As Object
Dim LastCol As Long, LastRow As Long
Dim i As Long, j As Long, k As Long
Dim iQuestion As Long
Dim xlSheet As Worksheet
Const strDocsPath As String = "C:\Path\Docs\"
Const strPath As String = "C:\Path\Output\"
On Error Resume Next
Set wdApp = GetObject(, "Word.Application")
If Err Then
Set wdApp = CreateObject("Word.Application")
Err.Clear
End If
wdApp.ScreenUpdating = False
Set xlSheet = ActiveSheet
With xlSheet
LastRow = .Cells(.Rows.Count, "D").End(xlUp).Row 'Check Col D as there is nothing in Col A
LastCol = .Cells(1, .Columns.Count).End(xlToLeft).Column
End With
For i = 2 To LastRow 'Row 2 to Last Row
iQuestion = 0
Set wdDoc = wdApp.Documents.Add
For j = 5 To LastCol 'Column E to Last Column
If xlSheet.Cells(i, j) > 0 Then
iQuestion = iQuestion + 1
Set oRng = wdDoc.Range
oRng.collapse 0
oRng.Text = "Question " & iQuestion & vbCr
oRng.Style = "Heading 2"
oRng.ParagraphFormat.keepwithnext = True
oRng.collapse 0
oRng.InsertFile Filename:=strDocsPath & xlSheet.Cells(i, j) & ".docx"
oRng.End = wdDoc.Range.End
oRng.Style = "Normal"
oRng.Text = Replace(oRng.Text, vbCr & vbCr, vbCr)
wdDoc.Fields.Unlink
Set oRng = wdDoc.Range
End If
Next j
wdDoc.Range.Font.Reset
wdDoc.Range.Style.Reset
wdDoc.SaveAs2 Filename:=strPath & xlSheet.Cells(i, 4) & ".docx", AddToRecentFiles:=False 'Column D
wdDoc.Close 'Optional
DoEvents
Next i
MsgBox "Documents created at " & strPath
wdApp.ScreenUpdating = True
lbl_Exit:
Set xlSheet = Nothing
Set wdApp = Nothing
Set wdDoc = Nothing
Set oRng = Nothing
Exit Sub
End Sub