Excel 为什么在VBA代码中会出现“类型声明字符与声明的数据类型不匹配”的情况?
我写了一个计算对数正态分布概率密度函数积分的程序。 我希望它也能计算出pdf的第n个矩。但是如果我修改代码,就会出现这个错误。在我添加*x^M之前,它工作正常Excel 为什么在VBA代码中会出现“类型声明字符与声明的数据类型不匹配”的情况?,excel,vba,integral,Excel,Vba,Integral,我写了一个计算对数正态分布概率密度函数积分的程序。 我希望它也能计算出pdf的第n个矩。但是如果我修改代码,就会出现这个错误。在我添加*x^M之前,它工作正常 有趣的我不知道为什么它对我不起作用。嗯,可能是我提供了不同于你的信息。如果你能发布一些有帮助的示例参数值,那么D2,E2,F2呢?好的,我不知道为什么,但它已经停止给我这个错误了。 Function riemanint(n, a, b) Dim h, i, x h = (b - a) / n x = a - h / 2 For
有趣的我不知道为什么它对我不起作用。嗯,可能是我提供了不同于你的信息。如果你能发布一些有帮助的示例参数值,那么D2,E2,F2呢?好的,我不知道为什么,但它已经停止给我这个错误了。
Function riemanint(n, a, b)
Dim h, i, x
h = (b - a) / n
x = a - h / 2
For i = 1 To n
x = x + h
s = s + f(x, ev, var, PI, M) * h
Next
riemanint = s
End Function
Function f(x, ev, var, PI, M)
PI = Application.WorksheetFunction.PI()
ev = Range("D2")
var = Range("E2")
M = Range("F2")
f = (((1 / (x * ((2 * PI) ^ 0.5) * var)) * Exp((-(Log(x) - ev) ^ 2) / (2 * var * var)))) * (x^(M))
End Function