2015-10-06 6 views
3

Условие выполнено, но все же управление не проходит внутри IF(). c имеет значение «Будет загружено» & равное значение, через которое я сравниваю, но управление не происходит внутри. Я использую какой-либо неправильный синтаксис, но он хорошо работает для некоторых других файлов.Почему управление не происходит внутри if(), все еще условие выполнено?

enter image description here

ответ

3

Если вы посмотрите на подсказке, как представляется, по крайней мере один пробел после текста:

enter image description here

Поэтому он не быть равный строке, содержащей текст без пробела.

Если вы хотите, чтобы он поймал строки с пробелами на конце, я предлагаю вам использовать rtrim() или даже trim(), если вы хотите, чтобы и ведущие пробелы игнорировались.

Вы также можете использовать lcase(), чтобы игнорировать любые проблемы с верхним и нижним регистром. Ввод и те в силу было бы что-то вроде:

If LCase(Trim(c)) = "to be uploaded" Or LCase(Trim(c)) = "to be loaded" Then ... 
+0

каким будет формат в Set Foundcell = tmpSheet.Range ("A2: A" & lastrow) .find (Что : = "To be Uploaded") Здесь происходит то же самое, что элемент управления не находит «быть загруженным». Может у, пожалуйста, помогите мне в этом? – ksrds

+0

, но есть строка, начинающаяся с «Будет загружена» еще не принимала – ksrds

1

попробовать

IF LCase(Trim(c)) = "to be uploaded" THEN 
    ... 
END IF 
+0

скорректировал код – Thorarins

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