Excel计算后为string返回#value

这个用户定义的函数计算一些值; 根据这个我需要在调用单元格中返回一个string。

函数中的MsgBoxtesting工作,但在单元格中,我只获得#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 

Function WoodClassify(...) as Double

分类是一个string,你已经设置了函数返回一个double。 它不能隐式地把一个string转换成一个double,所以它给出了一个值的错误。

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