2013-09-30 4 views
3

Я пишу инструкцию IF, которая использует функцию IsEmpty для определения True или False. Я попробовал это как на ячейке со значением (например, PRB2039), так и на пустой ячейке, чтобы проверить мой код, и результат тот же.Ячейка пуста, но IsEmpty не работает

Я удалил форматирование и попробовал его на новом рабочем листе. Я не знаю, что я делаю неправильно.

+0

IsEmpty возвращает Истина, если переменная не инициализирована, или явно задано Пусто; в противном случае он возвращает False. False всегда возвращается, если выражение содержит более одной переменной. IsEmpty возвращает только содержательную информацию для вариантов. [Ref] (http://stackoverflow.com/questions/8522323/what-is-the-difference-between-empty-and-isempty-in-vba-excel) – pnuts

+1

поможет ли это? 'Evaluate (" isblank ("& oRange.Address &") ")' – PatricK

ответ

1

Как предложено @PatricK, вы можете использовать функцию ISBLANK вместо функции IsEmpty. ISBLANK функция возвращает TRUE, если значение является пустым

enter image description here

Использование VBA

Sub test() 

    For i = 1 To 4 
     MsgBox Evaluate("isblank(" & Cells(i, 1).Address & ")") 
    Next 

End Sub 
+0

Я попробую ваше предложение, Сантош. Спасибо. –

1

Я предпочитаю использовать

If Len(Trim(Cells(i, 1).Value))=0 Then Msgbox "Empty" 
+0

@Santosh: Спасибо: p –

+0

Я попробую этот тоже. Я нищий. спасибо, Siddharth Rout. –

Смежные вопросы