Try
Public Sub SchedulePayments()
Dim lngNumberOfInstallments As Long
Dim lngColumnNumber As Long
Dim dblInstallment As Double
With ThisWorkbook.Worksheets("Sheet1")
'# calculate installment
lngNumberOfInstallments = ((CInt(.Cells(5, "C").Value) * 52) / CInt(.Cells(7, "C").Value))
dblInstallment = Val(.Cells(4, "C").Value) / lngNumberOfInstallments
'# position installments on timeline
For lngColumnNumber = 4 To (lngNumberOfInstallments * CInt(.Cells(7, "C").Value)) Step CInt(.Cells(7, "C").Value)
.Cells(9, lngColumnNumber).Value = dblInstallment
Next lngColumnNumber
End With
End Sub
or
Public Sub SchedulePayments_alternative()
Dim lngNumberOfInstallments As Long
Dim lngColumnNumber As Long
Dim dblLoanAmount As Double
Dim dblInstallment As Double
With ThisWorkbook.Worksheets("Sheet1")
'# calculate installment
dblLoanAmount = Val(.Cells(4, "C").Value)
lngNumberOfInstallments = ((CInt(.Cells(5, "C").Value) * 52) / CInt(.Cells(7, "C").Value))
dblInstallment = dblLoanAmount / lngNumberOfInstallments
'# position installments on timeline
lngColumnNumber = 4
While dblLoanAmount > (dblInstallment)
.Cells(9, lngColumnNumber).Value = dblInstallment
dblLoanAmount = dblLoanAmount - dblInstallment
lngColumnNumber = lngColumnNumber + CInt(.Cells(7, "C").Value)
Wend
End With
End Sub
whichever bit of code you find easier to work with
Bookmarks