Возвращает #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