VBA工作表函数gamma_dist使用循环for..next

时间:2017-05-29 06:56:06

标签: vba excel-vba excel

我的周期:

For n = 1 To 30000 Step 1
    a = m * n
    b = delta ^ a
    c = f1 ^ (a - 1)
    d = WorksheetFunction.Exp(-f1 * delta)
    e = WorksheetFunction.Gamma_Dist(f1, a, 1, 1)
    konvolucia = (b / e) * c * d
Next n
<{1}}上的

正在显示

  

运行时错误。&#39; 423&#39; - 未找到的财产​​或方法

我可以问你问题在哪里吗?

1 个答案:

答案 0 :(得分:2)

作为错误消息

  

未找到属性或方法

告诉您,问题是没有WorksheetFunction名为Exp

如果您正在寻找定义为的exp函数:
Exp(n) = e提升到n th 次幂,e = 2.71828183…

然后改用d = Exp(-f1 * delta)

旁注
Gamma_Dist等待Boolean作为最后一个参数:

Gamma_Dist(Arg1 as Double, Arg2 as Double, Arg3 as Double, Arg4 as Boolean)

因此,您应该使用TrueFalse代替1作为最后一个参数。在VBA中,True-1False0,因此即使1旁边的任何内容投放到0,也不要使用True转换为布尔值时。