Re: [VBA ] 請問VBA可以引用函數到迴圈中嗎?
※ 引述《cilo (兵)》之銘言:
: 各位板上的高手~~
: 我想請問一下~~
: 在VBA中可以引用函數到迴圈中嗎?
: 例如:(這我從我的程式終截錄出來的一段)
: Public Sub a()
: For i = 1 To path
sT = simulation_stock(s, r, sigma, t)
: c_payoff = Application.Max(sT - k, 0)
: p_payoff = Application.Max(k - sT, 0)
: sum_c = sum_c + c_payoff
: sum_p = sum_p + p_payoff
: Next i
: End Sub
: Public Function simulation_stock(s As Double, r As Double, sigma As Double,
: t As Double) As Double
: Dim j As Integer
: Dim a, a1, sT As Double
: a1 = 0
: For j = 1 To 12
: a1 = a1 + Rnd
: Next j
: a = a1 - 6
: sT = s * Exp((r - sigma ^ 2 / 2) * t + sigma * Sqr(t) * a)
: simulation_stock = sT
: End Function
: 為何VBA會給我錯誤的訊息(如下)~~
: 編譯錯誤:
: ByRef 引數型態不符
: 是不是因為VBA不能夠將函數引用到迴圈中呢?
: 麻煩各位高手幫個忙!!
: 謝謝!!
我怕大家誤解我想問的問題~~
所以我再加上一點解釋~~
我想問的是如何引用Public Function內的函數~~
而不是如何引用MAX~~
換句話說~~
以我的例子來說明就是~~請看變顏色的地方!!
如何引用一個有迴圈的函數到主程式中!!
另外我剛剛嘗試過將function內的東西建成模組~~
再到主程式中搭配前面回文的方法(Application.WorksheetFunction.simulation_stock)
或是搭配Application.simulation_stock~~
但是都沒辦法跑~~
都會出錯~~
我還在持續努力中~~
希望大家有好方法的可以提供參考!!
謝謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.139.220.180
討論串 (同標題文章)
Visual_Basic 近期熱門文章
PTT數位生活區 即時熱門文章
20
79