m a*_*sem -1 excel vba excel-vba
如果有人可以解释导致函数返回#value错误的原因,那将是很好的.
Public Function papild(x)
Dim Sum As Double, A As Double, pi As Double,
Sum = 0.5 - (x - pi / 4)
A = -(x - pi / 4)
pi = Application.WorksheetFunction.pi()
Dim k As Integer, i As Integer
k = 2
i = 0
Do While Abs(A) > 0.0001
A = -A * 4 * A * A / (k + i) * (k + i + 1)
Sum = Sum + A
k = k + 1
i = i + 1
Loop
paplid = Sum
End Function
Run Code Online (Sandbox Code Playgroud)
函数从MS Excel单元格获取x值,它等于= -1.5708(= -PI()/ 2 @Formula Bar)
在第3行和第4行中,您在使用变量pi之前将其设置为第5行...
你的公式中是否会遗漏一些括号.它基本上说:
A = -4A^3 * (k+i+1)/(k+1)
Run Code Online (Sandbox Code Playgroud)
这显然会漂移到+/-无限,所以你的循环不能结束.
另外在第二行中有一个逗号太多而在最后一行中有一个拼写错误(paplid而不是papild).