[英]Excel VBA function error
我很确定您的意图是评估Sin(x)
,其中x
以度为单位(如果除了以弧度(不是0
整数)进行评估的原因,除其他原因外,这很罕见),但是函数Sin(x)
与弧度一起使用。 您可以使用函数Randians()
修复此问题:
Public Function first(ByVal x As Double) As Double
x = Application.Radians(x)
If (x + 1 < 0) Or (1 - 2 * Sin(x) < 0) Or Sqr(1 - 2 * Sin(x)) = 0 Then
first = "error"
Else
first = Sqr(x + 1) / Sqr(1 - 2 * Sin(x))
End If
End Function
然后,例如, first(7)
评估为1.218130941
。
当x为7时 , Sin(x)
等于0.656986598718789 。
将其插入公式1 - 2 * Sin(x)
,得到-0.313973197437578 。
您不能取Sqr(...)
平方根(即Sqr(...)
)。 我建议添加Abs(...)
作为包装以保证有一个正数,但我不知道您最终要完成什么。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.