用红色文本突出显示单元格

用红色文本突出显示单元格

我有一列文本,其中某些字符(不是单元格)是红色字体。有没有办法通过条件格式突出显示包含红色字符的单元格?VBA 解决方案也可以。

答案1

我不知道有任何内置函数可以检查单元格内每个字符的单独颜色,但是您可以在 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)
单击确定并更改适用于适用于到您想要的列,在本例中它将是$A:$A。

帮助条件格式可以在这里找到。

答案2

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

相关内容