作者gohiei (真是无聊的...)
看板Visual_Basic
标题Re: [VBA ] 请问VBA可以引用函数到回圈中吗?
时间Sat Sep 16 23:10:33 2006
: : 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 引数型态不符
^^^^^^^^^^^^^^^^^^
或许你应该检查看看 function a() 中
呼叫 simulation_stock 函数时,它的参数型态对吗?
s 是 double 吗?
r double
sigma double
t double
还有回传值,
function simulation_stock 回传值是 double,
sT = simulation_stock(s, r, sigma, t) 中,
sT 型态是 double 吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.129.50.226
1F:推 cilo:我就是都检查过了~~但是它还是说错~~我才无能为力阿!!>"< 09/16 23:38