An alternative
Try this on your sample file. Delete the values below the header in column C on sheet "Desired Results" and then run the macro.
NB - vba assumes that blank cells in column C contain nothing
(Value "THIS WILL BE DELETED LATER" put in the cells that end up blank and then deleted at end to make the LastRow calculation work)
Sub CopyPasteRepeat()
Dim LastRow, Repeat, NextRow, i, j, k
With Sheets("Setup")
LastRow = .Range("C1000000").End(xlUp).Row
For i = 4 To LastRow 'data begins in row 4
NextRow = Sheets("Desired Results").Range("C1000000").End(xlUp).Row + 1
If .Cells(i, 3) <> "" Then
Repeat = .Cells(i, 2).Value
.Cells(i, 3).Copy
For j = 1 To Repeat
Sheets("Desired Results").Cells(NextRow, 3).PasteSpecial xlAll
NextRow = NextRow + 1
Next j
Else: Sheets("Desired Results").Cells(NextRow, 3).Value = "THIS WILL BE DELETED LATER"
End If
Next i
End With
With Sheets("Desired Results")
LastRow = .Range("C1000000").End(xlUp).Row
For k = 3 To LastRow
If Cells(k, 3).Value = "THIS WILL BE DELETED LATER" Then
Cells(k, 3).Value = ""
End If
Next k
End With
End Sub