The code as provided previously was based on the question you asked at the time. The following code has been modified so you can learn to change this yourself.
Since your input data is different (no double spaces in description field), I removed one of the If statements to simplify it.

Code:

Sub DoIt2()
Dim rng As Range, i As Integer, j As Integer
Dim sDesc() As String
Dim iCol As Integer
Set rng = ActiveSheet.UsedRange 'define the range to process with the code
iCol = 8 'column # that determines whether to duplicate that row
For i = rng.Rows.Count To 1 Step -1 'start at the bottom of the range and work up through the rows
If Len(rng.Cells(i, iCol)) > 0 Then 'if there is any content in column iCol
sDesc = Split(rng.Cells(i, iCol), " ") 'create an array by splitting at any spaces
For j = UBound(sDesc) To 1 Step -1 'if the array contains more than one entry, loop from the end going forward
rng.Rows(i + 1).Insert 'add an empty row
rng.Rows(i).Copy Destination:=rng.Rows(i + 1) 'copy the entire row into the following new row
rng.Cells(i + 1, iCol).Value = sDesc(j) 'change the value of the cell in column iCol to the array entry
Next j
rng.Cells(i, iCol) = sDesc(0) 'write the value of the first array entry to this cell
End If
Next i
End Sub