1

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

2 ответа2

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.

Справку по условному форматированию можно найти здесь.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .