我想在行值更改时突出显示整个单元格值。例如,行包含
A
A
乙
乙
乙
C
德
埃
埃
最终结果:我想通过以下方式突出显示行上方:A 必须是一种颜色,B 必须是彩色的,同样,其他每个值都必须是不同的颜色
答案1
解决此类问题的一个简单方法是使用颜色标度的条件格式机制。
由于这不能直接应用于文本值(该机制仅适用于数字),因此您需要一个辅助列,为每个文本值创建唯一的数字标识符。类似公式=IFERROR(CODE(<cell with text>);"")
似乎非常适合此目的。
因此,使用此公式创建一个辅助列(例如,在 F 列中)并对其应用条件格式。要将这些颜色拉伸到整行,您可以使用类似这样的过程(由@OssieMac 提供):
Private Sub Worksheet_Calculate()
Dim rngConditFormat As Range
Dim cel As Range
With Me
Set rngConditFormat = .Range(.Cells(2, "F"), .Cells(.Rows.Count, "F").End(xlUp))
For Each cel In rngConditFormat
cel.EntireRow.Interior.Color = cel.DisplayFormat.Interior.Color
Next cel
End With
End Sub
如果辅助公式选择的不是 F 列,而是其他列,则对代码进行两处更改,其中标明“F”。
可以隐藏辅助列,以免不必要的数字污染数据。