[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