ДЛСТР(), во первых, неявно преобразует значение аргумента в текст, так что результатом будет "длина строки текста, видимого в ячейке" (кстати, если в ячейке будет, например, число 0 - то ячейка все равно будет считаться "заполненной", поскольку "0" - это не "пустая строка").
ЕСЛИ() первым параметром требует "логическое выражение", но, опять же, способна интерпретировать числовые значения как логические (0 интерпретируется как ЛОЖЬ, любое значение "не ноль" - как ИСТИНА.
Кстати, в коде макросов может применяться аналогичный подход (как прямо, так и в комбинациях сравнения длины значения с нулём):
Код |
---|
If Len(Cells(1, 1).Text) Then ... ' в ячейке что-то есть
If Len(Cells(1, 1).Text) = 0 Then ... ' в ячейке пусто
|