Код VBA для выделения ячейки, которая не содержит определенного текста - PullRequest
1 голос
/ 11 марта 2019

У меня есть список значений ниже в столбце A, как показано ниже.Я хочу выделить ячейки, в которых нет строк «Да», «Нет» и «Н / Д»

Moderate
High
Yes - no structural changes
High
Moderate
Yes
Moderate
N/A
High
No
Nos

. Я пробовал приведенный ниже VBA, но он также не выделяет такие значения, как«Да - нет структурных изменений» и «Нет».

Dim a As Range
For Each a In Range(Range("a1"), Range("a" & Rows.Count).End(xlUp))
    If Not (a.Value Like "**Yes**" Or a.Value Like "**No**" Or a.Value Like "**N/A**") Then
        a.Interior.ColorIndex = 3
    End If
Next a

1 Ответ

0 голосов
/ 11 марта 2019

Просто добавьте правило условного форматирования.

with worksheets("sheet1")
  with .range(.cells(1, "A"), .cells(.rows.count, "A").end(xlup))
    with .formatconditions.add(type:=xlexpression, _
                               formula1:="=OR(COUNTIF(A1, ""*yes*""), COUNTIF(A1, ""*no*""), COUNTIF(A1, ""*n/a*""))")
      .interior.color = vbred
    end with
  end with
end with

Ваш собственный код должен использовать символы подстановки с Like.

If Not (a.Value Like "*Yes*" Or a.Value Like "*No*" Or a.Value Like "*N/A*") Then 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...