I copied your code into a spreadsheet, typed in a bunch of values,
then called your function directly from the worksheet, and it gave me
a value. Is it possible the #Value is caused by the values you're
passing in?
This is what I entered (in first row):
dblOrgBal 275000
OrgDate 1/1/1990
FirstPmtDate 2/1/1990
MatDate 12/31/2020
AnnIntRate 0.065
SumPeriod 30
IntPeriodsYr 360
MatPeriods 360
intOption 1
In a different cell, I entered:
=CumulativePmt(A1,B1,C1,D1,E1,F1,G1,H1,I1)
And I got back:
46,353.6