Excel 列包含代表该行类别的文本值。
有没有办法将所有具有不同值的单元格格式化为独特的颜色,而无需为每个值手动创建条件格式?
例如:如果我有类别bedroom, bedroom, bathroom, kitchen, living room
,我希望所有单元格都包含bedroom
特定的颜色、bathroom
不同的颜色等等。
答案1
- 将要格式化的列复制到空白工作表。
- 选择该列,然后从功能区“数据”选项卡上的“数据工具”面板中选择“删除重复项”。
- 在唯一值或字符串列表的右侧,创建一个唯一数字列表。例如,如果您有 6 个类别需要着色,则第二列可以是 1-6。这是您的查找表。
- 在新列中,使用将
VLOOKUP
文本字符串映射到新颜色。 - 根据新的数字列应用条件格式。
答案2
答案3
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
答案4
自动选择颜色条件格式不是 Microsoft Excel 的功能。
但是,您可以根据类别列的值单独为整行着色。
- 在条件格式中创建新的格式规则。
- 使用公式来确定要格式化的单元格。
- 公式:(
=$B1="bedroom"
假设类别列为B) - 设置格式(使用填充颜色)
- 将规则格式应用于所有单元格