我使用以下功能。
Function CalculateDouble(Number)
If IsNumeric(Number) Then
CalculateDouble = Number * 2 ' Return result.
Else
CalculateDouble = CVErr(2001) ' Return a user-defined error
End If ' number.
End Function
我需要这个函数返回使用定义的错误类型“2001”或任何其他类型,但它没有。
请帮助修复此问题。
提前致谢。
您的部分问题是您没有声明函数参数的类型或返回类型。 通过正确设置参数和返回类型,您可以避免需要测试函数内的数字,例如
Public Function CalculateDouble(Number As Double) as Double
CalculateDouble = Number * 2
End Function
现在,如果不确保提供给函数的值是双精度值,则无法调用该函数。 这会将 IsNumeric 的测试移至函数外部。
Dim myDoubleNo as Double
If IsNumeric(Number) then
myDoubleNo = CalculateDouble(CDbl(Number))
else
<Code for when IsNumeric is false goes here>
End if