写一个vba代码,将ws2的B列同样的值用同样的颜色标识出来,不同的值背景色不同
时间: 2024-02-03 17:12:44 浏览: 109
vue里input根据value改变背景色的实例
5星 · 资源好评率100%
以下是一个简单的VBA代码,可以实现将WS2的B列中相同的值用同一种颜色标识,不同的值用不同的颜色标识:
```
Sub ColorCodeDuplicates()
Dim ws As Worksheet
Dim lastRow As Long
Dim rng As Range
Dim dict As Object
Dim i As Long
Dim colorIndex As Integer
Dim cell As Range
'指定要操作的工作表
Set ws = ThisWorkbook.Worksheets("ws2")
'获取B列中的数据范围
lastRow = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row
Set rng = ws.Range("B1:B" & lastRow)
'创建一个字典对象,用于存储每个不同的值以及颜色
Set dict = CreateObject("Scripting.Dictionary")
'遍历B列中的所有单元格
For i = 1 To rng.Cells.Count
'如果字典中不存在当前单元格的值,则为其分配一个新的颜色
If Not dict.Exists(rng.Cells(i).Value) Then
colorIndex = colorIndex + 1
dict.Add rng.Cells(i).Value, colorIndex
End If
'将当前单元格的背景色设置为其对应的颜色
Set cell = rng.Cells(i)
cell.Interior.ColorIndex = dict(rng.Cells(i).Value)
Next i
End Sub
```
使用方法:
1. 将上述代码复制到VBA编辑器中的一个新模块中。
2. 打开要操作的工作簿,运行该代码即可。
阅读全文