Выделите ячейки с красным текстом

1

У меня есть столбец текста, в котором некоторые символы (не ячейки) выделены красным шрифтом. Есть ли способ выделить ячейки, которые содержат красные символы с помощью условного форматирования? Решения VBA также подойдут.

learningAsIGo
источник

Ответы:

2

Мне не известны какие-либо встроенные функции, которые проверяют индивидуальный цвет каждого символа в ячейке, однако вы можете написать его в VBA.

Эта функция будет перебирать каждый символ и возвращать true, если один из символов красный. Обратите внимание: этот код работает только на стандартном красном, который доступен, он не будет работать на всех оттенках.

'Only works on the standard Red Colour
Function ContainsRed(CellCheck As Range) As Boolean
    For i = 1 To Len(CellCheck.Value) Step 1
        If CellCheck.Characters(i, 1).Font.Color = vbRed Then
            ContainsRed = True
            Exit Function
        End If
    Next i
    ContainsRed = False
End Function

После создания формулы вы можете создать новое правило форматирования. Нажмите на домашнюю вкладку, условное форматирование, новое правило.

Для использования с колонкой A
Выберите последний параметр «Использовать формулу, чтобы определить, какие ячейки форматировать» и используйте формулу, подобную этой: = ContainsRed (A2)
Нажмите Ok и измените применение к Относится к в столбец, который вы хотите, в этом случае это будет $ A: $ A.

Помогите с условным форматированием можно найти здесь.

CdeoEm
источник
Фантастика! Большое спасибо.
learningAsIGo
0
Set ws = Sheets("Cost Analysis compare")

For r = 1 To 104
    For c = 1 To 36
        If (ws.Cells(r, c).Font.Color = 255) Then
            ws.Cells(r, c).Interior.ColorIndex = 44
        End If
    Next c
Next r
Jason
источник
Пожалуйста, дополните ответ, чтобы объяснить, почему / как это работает.
xenoid