Очистка содержимого ячейки с циклом for и выражением if

У меня есть этот код:

For Each cell In Worksheets("Sheet1").UsedRange If(Left(cell, 3) <> 574 Or Left(cell, 3) <> 584 Or Left(cell, 3) <> 233) Then cell.ClearContents Next 

Коды purpuse состоят в том, чтобы перебирать все использованные ячейки в расширенном листе, и если первые три цифры не являются 574, 233, 584, то ячейка будет установлена ​​в пустую.

В моей таблице я имею значения, которые должны пройти, первые три цифры равны 574, 233, 584; но вместо этого цикл удаляет все из электронной таблицы. Любое понимание ошибок в логике, которую я, возможно, приветствую.

Всякий раз, когда я вижу несколько условий для оператора IF , я сразу же думаю об использовании Select Case для удобства чтения и обслуживания.

 For Each cell In Worksheets("Sheet1").UsedRange Select Case Left(cell,3) Case Is = 574, 584, 233 'do nothing Case Else: cell.ClearContents End Select Next 
  • Перетащите формулу и сделайте ссылку на каждую другую ячейку
  • Правильный способ использования двух отдельных условий
  • Средняя ячейка (я) не заполнена
  • Если «0» затем оставить ячейку пустой
  • Удаление противоположностей из Excel
  • Excel вложен, если forumlas
  • Excel: поиск формулы для отдельного слова в ячейках, содержащих несколько слов
  • Функция Excel: «Not Isblank» с «Or», и если дата
  • Попытка вернуть вторую последнюю позицию согласованного значения
  • Как сделать «Если еще» в листах Google?
  • Excel -VBA помогает, защищает и удаляет защищенные ячейки в соответствии с выбором списка
  • Давайте будем гением компьютера.