作者tnt0619 ()
看板Visual_Basic
标题[VBA ] 发生"溢位"问题
时间Fri Apr 27 07:14:56 2007
请问一下,
当我单独执行 function pvpv的时候,输入变数可以得到结果;
但当我利用sub中呼叫function的时候,
就会在以下程式码中的
j = j + Round(CF / ((1 + r) ^ i), 2)
出现错误讯息,"溢位"
是不是我的sub观念弄错了,请高手指正,谢谢.
-------------------------------------------------------------------
Sub countpv()
CF = InputBox("enter the cash flow value", "pv calc", "100")
Worksheets("sheet1").Cells(2, 2) = CF
r = InputBox("enter the interest rate", "pv calc", "0.01")
Worksheets("sheet1").Cells(3, 2) = r
n = InputBox("cash flow entered:" & CF & Chr(10) & _
"interest rate entered " & FormatPercent(r, "2") & Chr(10) & _
"enter the number of periods : ", "pv calc", "10")
Worksheets("sheet1").Cells(4, 2) = n
Call pvpv(CF, r, n)
End Sub
-------------------------------------------------------------------
Function pvpv(CF, r, n) As Double
Dim i, j As Double
i = 1
j = 0
Do While i <= n
j = j + Round(CF / ((1 + r) ^ i), 2)
i = i + 1
Loop
pvpv = j
MsgBox "the pv is :" & pvpv, vbOKOnly, "pv calc"
Worksheets("sheet1").Cells(5, 2) = pvpv
End Function
---------------------------------------------------------------------
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 193.10.51.216