Попробуйте эту строку
Sub Test()
Range("B2").Resize(Range("D2").Value).Value = Range("D3").Value
End Sub
Или ты имеешь в виду что-то подобное
Sub Test()
Range("B8").Select
Do While ActiveCell.Value <> ""
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell.Resize(Range("D2").Value).Value = Range("D3").Value
Application.CutCopyMode = False
End Sub