作者cilo (兵)
看板Visual_Basic
标题Re: [VBA ] 请问VBA可以引用函数到回圈中吗?
时间Sat Sep 16 22:29:13 2006
※ 引述《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