[VBA ] 可以幫我看一下以下的問題嗎?

看板Visual_Basic作者 (深呼吸)時間17年前 (2008/12/05 23:44), 編輯推噓0(005)
留言5則, 2人參與, 最新討論串1/1
不好意思 小弟剛開始學寫程式 下面這個程式不知道問題在哪 可以有高手幫我看一下嗎? 如果對的話 應該到期日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

12/06 00:47, , 1F
Functon裡面的 cf, rate, maturity變數跟主程式的變數不同
12/06 00:47, 1F

12/06 00:47, , 2F
改成傳參數到function裡面就可以了~~~
12/06 00:47, 2F

12/06 00:48, , 3F
不使用傳參數的話,那你把cf, rate, maturity改成全域變數
12/06 00:48, 3F

12/06 00:49, , 4F
VB我很久沒寫了~~~剩下來的,請別人幫你吧~~~
12/06 00:49, 4F

12/06 00:51, , 5F
謝謝您~
12/06 00:51, 5F
文章代碼(AID): #19EKnD0Z (Visual_Basic)