Sub test()

Dim i As Long
Dim myRow As Long

'myRowは一番下のデータがある行(C列で上から下に検索する)
myRow = Cells(1, 3).End(xlDown).Row

'Sheet2をオブジェクト変数Ws2に
Dim Ws2 As Worksheet
Set Ws2 = Worksheets("Sheet2")

'最終行のC列、D列に数値が入っていて、D列の数値>=C列の数値である場合のみ転記をする。

If IsNumeric(Cells(myRow, 3)) = True And IsNumeric(Cells(myRow, 4)) = True And _
Cells(myRow, 3) <= Cells(myRow, 4) Then
For i = Cells(myRow, 3) To Cells(myRow, 4)
Ws2.Cells(i + 1, 2) = Cells(myRow, 1)
Ws2.Cells(i + 1, 3) = Cells(myRow, 2)
Next i
Else
MsgBox "入力値が適正ではありません"
End If
End Sub