Добрый день!

Отвечу сам себе, поскольку проблему решил, а она мне кажется достаточно
типичной, чтобы описать решение.


Суть решения: Проверку на пустоту ячейки делать функцией рабочего листа
ISBLANK, в случае пустой ячейки передавать пустую строку, а в
пользовательской BASIC-функции проводить проверку на пустоту строки.
Что-то типа такого:

Вызов пользовательской функции в ячейке:
  =MYFUNC(IF(ISBLANK(адрес);"";адрес))

А в MYFUNC приблизительно так:
        Function MyFunc (a As Variant) As ....
        If a = "" Then
            Обработка пустого значения
        Else
            Если передано непустое значение
        End If
        End Function


Кроме проверки на пустоту значения, возможно, стоит также убедиться в
том, что тип переменной a строковый, так (из общих соображений) можно
уменьшить вероятность ошибок.


Решение не изящное, но работающее и универсальное. Также удалось
объяснить его суть не сильно квалифицированным пользователям :-)

С уважением,
Дмитрий


_______________________________________________
Oo-discuss mailing list
[email protected]
https://lists.openoffice.ru/mailman/listinfo/oo-discuss

Ответить