[英]MS Excel. VBA function returns #value
如果有人可以解釋是什么原因導致函數返回#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
函數從MS Excel單元格獲取x值,它等於= -1.5708(= -PI()/ 2 @Formula Bar)
在第3行和第4行中,在將變量pi設置在第5行中之前使用變量pi ...
您的公式中是否可能缺少括號。 它基本上說:
A = -4A^3 * (k+i+1)/(k+1)
這顯然漂移到+/-無限,因此您的循環無法結束。
在第二行中也有一個逗號,在最后一行中有一個拼寫錯誤(拼寫而不是papild)。
您是否嘗試過調試代碼? 當我運行代碼時,我在@ x = -1.5708開始的while循環的第6次迭代中遇到溢出錯誤。 數字變大以適合變量內部。除此之外,還有一些小問題:缺少為Double
Public Function papild(x) As Double
最后加上不必要的逗號
Dim Sum As Double, A As Double, pi As Double,
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.