excel - 如何在列中找到相同的数据并填充颜色以显示它们?
问题描述
我在列中有数据并且数据具有相同的组,所以我想填充颜色以显示它们,但它有很多组。我不知道如何改变颜色。
我尝试使用If then else
,array
但我不能这样做。
Sub Test()
Dim c As Range
Dim bottomA As Integer
bottomA = Range("A" & Rows.Count).End(xlUp).Row
For Each c In Range("A3:A" & bottomA)
If c = c.Offset(1, 0) Or c = c.Offset(-1, 0) Then
c.Interior.Color = 255
End If
Next c
End Sub
它具有相同的颜色,我认为它不适合我的工作,因为它考虑逐个单元格而不是按组来填充颜色。
这就是我想要创建的代码来运行 如果有相同的值,它们将具有相同的颜色并且该颜色将不会再次使用如果该值是唯一的,则该范围将不会填充颜色
解决方案
使用Color
属性和RGB
函数。
Range("A1").Interior.Color = RGB(255, 0, 0)
说明:
RGB 代表红色、绿色和蓝色。这是三种原色。每个组件的取值范围为 0 到 255。使用此功能,您可以制作每种颜色。
RGB(255,0,0) 给出纯色Red
。
Edit1:
Range("A3", Range("A3").End(xlDown)
返回从单元格 a3 到区域末尾单元格的范围。
如果要比较范围的值,则应更改
c = c.Offset(1, 0) Or c = c.Offset(-1, 0)
至
c.Value = c.Offset(1, 0).Value Or c.Value = c.Offset(-1, 0).Value
完整的 VBA 代码:
Sub Test()
Dim c As Range
For Each c In Range("A3", Range("A3").End(xlDown))
If c = c.Offset(1, 0) Or c = c.Offset(-1, 0) Then
c.Interior.Color = 255
End If
Next c
End Sub