在Excel计算后返回字符串时返回#value

时间:2014-12-17 08:08:59

标签: excel excel-vba excel-udf vba

此用户定义函数计算一些值;根据我需要在调用单元格中返回一个字符串。

函数中的MsgBox测试有效,但在单元格中我只得到#value!错误。

为什么?

Function WoodClassify(Length As Double, Girth As Double, Description As String) As Double
    Dim cubicMeter As Double
    Dim Classification As String


If Length > 250 Then
    MsgBox ("TG B(I)")
    Classification = "TG B(I)"
ElseIf Length > 100 Then
    Classification = "XXXXXXX"
Else
    Classification = "WWWWWWWW"
End If

WoodClassify = Classification

End Function

1 个答案:

答案 0 :(得分:2)

Function WoodClassify(...) as Double

分类是一个字符串,您已将该函数设置为返回double。它无法将字符串隐式转换为double,因此会产生值错误。

如果希望函数返回应该读取的字符串: Function WoodClassify(...) as String