Maybe
For rowNum = 1 To loanLife * 26
If (outRow + rowNum) Mod 2 = 0 Then
intComp = 0
Else
If rowNum = 1 Then
intComp = yrBegBal * intRate / 13
Else
intComp = shtLoanAmort.Cells(outRow + rowNum - 1, 2).Value * intRate / 13
End If
End If
princRepay = biweeklyPmnt - intComp
yrEndBal = yrBegBal - princRepay
shtLoanAmort.Cells(outRow + rowNum, 1).Value = rowNum 'Year number
shtLoanAmort.Cells(outRow + rowNum, 2).Value = yrBegBal
shtLoanAmort.Cells(outRow + rowNum, 3).Value = biweeklyPmnt
shtLoanAmort.Cells(outRow + rowNum, 4).Value = princRepay
shtLoanAmort.Cells(outRow + rowNum, 5).Value = intComp
shtLoanAmort.Cells(outRow + rowNum, 6).Value = yrEndBal 'Lease buyout price
yrBegBal = yrEndBal
Next rowNum
As a side note, without an explicit "As Double" things like intRate as Dim-ed as Variant
Dim intRate, initLoanAmnt, loanLife As Double
Dim yrBegBal, yrEndBal
Dim biweeklyPmnt, intComp, princRepay
Dim outRow, rowNum, outSheet
Suggest
Dim intRateAs Double, initLoanAmnt As Double, loanLife As Double
Dim yrBegBal As Double, yrEndBal As Double
Dim biweeklyPmnt As Double, intComp As Double, princRepay As Double
Dim outRow As Long, rowNum As Long
DIm outSheet As String