У меня есть лист Excel, имеющий в столбце C большое количество записей, в которых есть некоторые, которые являются дублирующими значениями.У меня есть этот фрагмент кода, который в основном проходит через весь столбец C, проверяет каждую группу повторяющихся значений и окрашивает их определенным цветом.
Sub ColorCompanyDuplicates()
Worksheets("Master Filtered").Activate
Dim xRg As Range
Dim xTxt As String
Dim xCell As Range
Dim xChar As String
Dim xCellPre As Range
Dim xCIndex As Long
Dim xCol As Collection
Dim I As Long
Dim lastrow As Long
lastrow = Cells(Rows.Count, 1).End(xlUp).Row
On Error Resume Next
If ActiveWindow.RangeSelection.Count > 1 Then
xTxt = ActiveWindow.RangeSelection.AddressLocal
Else
xTxt = ActiveSheet.UsedRange.AddressLocal
End If
Set xRg = ThisWorkbook.Worksheets("Master Filtered").Range("C4:C" & lastrow)
If xRg Is Nothing Then Exit Sub
xCIndex = 2
Set xCol = New Collection
For Each xCell In xRg
On Error Resume Next
xCol.Add xCell, xCell.Text
If Err.Number = 457 Then
xCIndex = xCIndex + 1
Set xCellPre = xCol(xCell.Text)
If xCellPre.Interior.ColorIndex = xlNone Then xCellPre.Interior.ColorIndex = xCIndex
xCell.Interior.ColorIndex = xCellPre.Interior.ColorIndex
ElseIf Err.Number = 9 Then
MsgBox "Too many duplicate companies!", vbCritical, "Kutools for Excel"
Exit Sub
End If
On Error GoTo 0
Next
End Sub
На самом деле это работает в том смысле, что онодинаковые значения в столбце C с одинаковым цветом.
Однако моя проблема в том, что я действительно хочу, чтобы этот код раскрашивал каждую группу повторяющихся значений цветом UNIQUE .Мой код не делает этого.Он повторяет один и тот же цвет для разных групп повторяющихся значений.
У вас есть представление о том, как изменить этот код, чтобы в каждой группе повторяющихся значений в столбце C был УНИКАЛЬНЫЙ другой цвет?
Спасибо :)