Форум по VBA и MS Office

VBA, Excel => VBA, макросы в Excel => Тема начата: Посетитель от 12 июля 2024, 15:52

Название: Непонятно поведение If ... Then ... Else
Отправлено: Посетитель от 12 июля 2024, 15:52
Здравствуйте !
Подскажите, пожалуйста по коду, что не так ...
Задаю условие: если значение ячейки 2-й строки 19-го столбца равно слову "Бам", то выводится сообщение со словом "Есть".
Если в ячейке нет такого слова, то выводится сообщение со значением этой ячейки.
В результате получается, что такого слова в ячейке нет и идёт переход к оператору Else, где выдаётся сообщение "Бам".
Как так ?? Этого слова нет, но выдаётся, что есть ??

    Dim n As String
    n = Cells(2, 19).Value
   
    If Cells(2, 19) = "Бам" Then
    MsgBox ("Есть")
      Else
      MsgBox (n)


Название: Непонятно поведение If ... Then ... Else
Отправлено: Администратор от 12 июля 2024, 16:11
Не хватает ещё окончания конструкции If.. Then.
В конце должно быть End If.
Название: Непонятно поведение If ... Then ... Else
Отправлено: Посетитель от 12 июля 2024, 17:03
Простите, Enf If просто не дописал. Он есть. Суть не меняется: слово "Бам", в ячейке есть, а логический оператор переводит на Else, т.е. слова нет. И после Else выдаёт, это слово. То есть оно есть. Вот как это ??
Название: Непонятно поведение If ... Then ... Else
Отправлено: Администратор от 12 июля 2024, 17:13
Может быть в ячейке пробел есть.
Перейдите в строку формул, щёлкните справа в строке формул. Если справа есть пробелы, то будет видно, что между текстом и курсором пусто.
Название: Непонятно поведение If ... Then ... Else
Отправлено: Посетитель от 12 июля 2024, 17:26
Да, Спасибо !
Пробел оказался впереди слова. Поставил Like и макрос заработал.