Возвращает #value для строки после вычисления в Excel

Эта пользовательская функция вычисляет некоторое значение; в соответствии с этим мне нужно вернуть строку в вызывающей ячейке.

Тест 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 ответ

Решение

Function WoodClassify(...) as Double

Классификация - это строка, и вы установили функцию для возврата двойного числа. Он не может неявно преобразовать строку в двойное, поэтому выдает ошибку значения.

Если вы хотите, чтобы функция возвращала строку, которая должна читать:Function WoodClassify(...) as String

Другие вопросы по тегам