[英]#VALUE Error in Evaluate Function of Excel VBA
我試圖找出下面的過程有什么問題。 在我的工作表中,有一個公式字符串需要對變量x 的不同值進行評估。
(0.5*(23-9.81)*3*(x^2))*(x/3)+(0.5*9.81*(x^2))*(x/3)-1*((0.5*18.5*0.33*(2.5^2))*(x+2.5/3)+(18.5*0.33*2.5*x)*(x/2)+(0.5*(23-9.81)*0.33*(x^2))*(x/3)+(0.5*9.81*(x^2))*(x/3)+(100*0.33*(2.5+x))*((2.5+x)/2))
我有一個看起來像這樣的 vba 代碼:
Public Function ev(r As Range, x As Double) As Variant
ev = Application.Evaluate(Replace(r.Value, "x", x))
End Function
奇怪的是,此功能僅在單元格輸入類似於
=ev(Q25,10.01)
但不是
=ev(Q25,10.000000001)
甚至
=ev(Q25,10.00001)
為什么會這樣? 我需要該程序使用高達0.0000000001
小增量進行計算。 謝謝你的見解。
傳遞給Application.Evaluate
的String
有 255 個字符的限制。 在Replace
ing x
Replace
為相應的數值后,您遇到了硬限制。
您的選擇包括:
Evaluate
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.