Excel:如何根据具有相同值的其他单元格的颜色对单元格进行着色?
问题描述:
我有一个10行到3列的范围/表格。Excel:如何根据具有相同值的其他单元格的颜色对单元格进行着色?
任何特定的单元格可以使用数据验证创建的列表中的任何特定值。该范围内的所有单元格都具有相同的数据验证列表。
如果一个值在任何行或任何列上重复,而不是对角或其他值,那么这些值将使用条件格式高亮显示。
现在我想,如果相同的值存在于非重复行或列中的其他地方,那么这些单元格也应该被着色。 (最好使用不同于用于条件格式化以了解两者之间差异的颜色)。
目的是要知道哪些值重复以及如何使用这些值的范围,以及哪些值不会按照标准重复使用。
P.s .:请告知是否需要额外的信息或一些澄清。
请参阅附加图像以更好地了解我的查询。 蓝色的通过条件格式着色,绿色的通过你的帮助需要着色。
答
你可以使用条件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画在列/行重复再涂上都还是白细胞红色,如果它等于一个已经为黄色。希望它有帮助。
不,实际上,整个范围重复不需要突出显示。整个范围将有重复,因为每列将具有相同的数据集。 仅当数据在一行或一列上重复时才需要颜色突出显示。 –
因此,您需要对每列和每行分别进行条件格式化。如果行数很多,则可以使用宏逐个格式化它们。 – MarcinSzaleniec
不,我已经分别为每行和每列设置了条件格式。 现在我需要的是突出显示范围内的那些单元格,这些单元格具有与通过条件格式设置复制的值相同的值,而不是那些标记为重复的单元格。 –