[Oo-discuss] Обработка пустых ячеек в пользовательских функциях Calc
Dmitry Drozdov
ddv на altonika.ru
Ср Июл 28 05:49:33 UTC 2010
Добрый день!
Отвечу сам себе, поскольку проблему решил, а она мне кажется достаточно
типичной, чтобы описать решение.
Суть решения: Проверку на пустоту ячейки делать функцией рабочего листа
ISBLANK, в случае пустой ячейки передавать пустую строку, а в
пользовательской BASIC-функции проводить проверку на пустоту строки.
Что-то типа такого:
Вызов пользовательской функции в ячейке:
=MYFUNC(IF(ISBLANK(адрес);"";адрес))
А в MYFUNC приблизительно так:
Function MyFunc (a As Variant) As ....
If a = "" Then
Обработка пустого значения
Else
Если передано непустое значение
End If
End Function
Кроме проверки на пустоту значения, возможно, стоит также убедиться в
том, что тип переменной a строковый, так (из общих соображений) можно
уменьшить вероятность ошибок.
Решение не изящное, но работающее и универсальное. Также удалось
объяснить его суть не сильно квалифицированным пользователям :-)
С уважением,
Дмитрий
Подробная информация о списке рассылки Oo-discuss