23
23
基于文本值的颜色单元格
一个Excel列包含一个文本值,代表该行的类别。
有没有一种方法可以将所有具有独特值的单元格格式化为唯一的颜色,而不需要手动为每个值创建一个条件格式?
例子。如果我的类别是bedroom, bedroom, bathroom, kitchen, living room
,我希望所有包含bedroom
的单元格都是特定的颜色,bathroom
是不同的颜色等等。
一个Excel列包含一个文本值,代表该行的类别。
有没有一种方法可以将所有具有独特值的单元格格式化为唯一的颜色,而不需要手动为每个值创建一个条件格式?
例子。如果我的类别是bedroom, bedroom, bathroom, kitchen, living room
,我希望所有包含bedroom
的单元格都是特定的颜色,bathroom
是不同的颜色等等。
以下是Excel 2010的截图,但在2007年应该是一样的。
选择单元格,然后进入Conditional Formatting | Highlight Cells Rules | Text that Contains
更新:要对整个工作表应用条件格式化,请选择所有单元格,然后应用条件格式化。
Sub ColourDuplicates()
Dim Rng As Range
Dim Cel As Range
Dim Cel2 As Range
Dim Colour As Long
Set Rng = Worksheets("Sheet1").Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row)
Rng.Interior.ColorIndex = xlNone
Colour = 6
For Each Cel In Rng
If WorksheetFunction.CountIf(Rng, Cel) > 1 And Cel.Interior.ColorIndex = xlNone Then
Set Cel2 = Rng.Find(Cel.Value, LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=False, SearchDirection:=xlNext)
If Not Cel2 Is Nothing Then
Firstaddress = Cel2.Address
Do
Cel.Interior.ColorIndex = Colour
Cel2.Interior.ColorIndex = Colour
Set Cel2 = Rng.FindNext(Cel2)
Loop While Firstaddress <> Cel2.Address
End If
Colour = Colour + 1
End If
Next
End Sub