Excel:如何根据具有相同值的其他单元格的颜色对单元格进行着色?

问题描述:

我有一个10行到3列的范围/表格。Excel:如何根据具有相同值的其他单元格的颜色对单元格进行着色?

任何特定的单元格可以使用数据验证创建的列表中的任何特定值。该范围内的所有单元格都具有相同的数据验证列表。

如果一个值在任何行或任何列上重复,而不是对角或其他值,那么这些值将使用条件格式高亮显示。

现在我想,如果相同的值存在于非重复行或列中的其他地方,那么这些单元格也应该被着色。 (最好使用不同于用于条件格式化以了解两者之间差异的颜色)。

目的是要知道哪些值重复以及如何使用这些值的范围,以及哪些值不会按照标准重复使用。

P.s .:请告知是否需要额外的信息或一些澄清。

请参阅附加图像以更好地了解我的查询。 蓝色的通过条件格式着色,绿色的通过你的帮助需要着色。

Image for understanding

你可以使用条件formatting->重复值的整个范围,用不同的颜色,并设置顺序条件Formatting->管理规则。我认为不需要VBA。编辑: 好吧,我想我知道你在问什么。试试这个小子程序:

Sub PaintDuplis() 
Dim rng As Range 
Dim col As Range 
Dim row As Range 
Dim cl As Range, cl2 As Range 

Set rng = Range("B4:D11") 'or whatever your range is. 
'Columns 
For Each col In rng.Columns 
    For Each cl In col.Cells 
    If WorksheetFunction.CountIf(col, cl.Value) > 1 Then cl.Interior.Color = vbYellow 
    Next cl 
Next col 

'Rows 
For Each row In rng.rows 
    For Each cl In row.Cells 
    If WorksheetFunction.CountIf(row, cl.Value) > 1 Then cl.Interior.Color = vbYellow 
    Next cl 
Next row 

'Paint whole range 
For Each cl In rng 
    If cl.Interior.Color = vbYellow Then 
    For Each cl2 In rng 
     If cl2.Value = cl.Value And cl2.Interior.Color <> vbYellow Then cl2.Interior.Color = vbRed 
    Next cl2 
    End If 
Next cl 

我已经放弃了条件格式,而不是我用VBA画在列/行重复再涂上都还是白细胞红色,如果它等于一个已经为黄色。希望它有帮助。

+0

不,实际上,整个范围重复不需要突出显示。整个范围将有重复,因为每列将具有相同的数据集。 仅当数据在一行或一列上重复时才需要颜色突出显示。 –

+0

因此,您需要对每列和每行分别进行条件格式化。如果行数很多,则可以使用宏逐个格式化它们。 – MarcinSzaleniec

+0

不,我已经分别为每行和每列设置了条件格式。 现在我需要的是突出显示范围内的那些单元格,这些单元格具有与通过条件格式设置复制的值相同的值,而不是那些标记为重复的单元格。 –