作者paul420 (深呼吸)
看板Visual_Basic
標題[VBA ] 可以幫我看一下以下的問題嗎?
時間Fri Dec 5 23:44:09 2008
不好意思 小弟剛開始學寫程式
下面這個程式不知道問題在哪 可以有高手幫我看一下嗎?
如果對的話 應該到期日2009/12/5
利率0.1 到期現金流量110
跑出來答案應該是100
結果卻是0....麻煩幫我看一下好嗎 謝謝!
Public Sub discountvalue()
Dim cf, rate As Double
Dim maturity, today As Date
Dim p As Double
maturity = InputBox("請輸入到期日")
today = Date
cf = InputBox("請輸入期末到期現金流量")
rate = Val(InputBox("請輸入利率"))
If (maturity <= (365 + today)) Then
p = simplevalue
Else
p = compvalue
End If
MsgBox p
End Sub
------------------------------------------------------------------------
Public Function simplevalue()
Dim cf As Double, rate As Double, maturity As Date
simplevalue = cf / (1 + rate * (maturity - Date) / 365)
End Function
------------------------------------------------------------------------
Public Function compvalue()
Dim cf As Double, rate As Double, maturity As Double
compvalue = cf / ((1 + rate) ^ ((maturity - Date) / 365))
End Function
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.119.234.107
※ paul420:轉錄至看板 Wanted 12/06 00:01
1F:→ chiaho:Functon裡面的 cf, rate, maturity變數跟主程式的變數不同 12/06 00:47
2F:→ chiaho:改成傳參數到function裡面就可以了~~~ 12/06 00:47
3F:→ chiaho:不使用傳參數的話,那你把cf, rate, maturity改成全域變數 12/06 00:48
4F:→ chiaho:VB我很久沒寫了~~~剩下來的,請別人幫你吧~~~ 12/06 00:49
5F:→ paul420:謝謝您~ 12/06 00:51