颜色代码使用交替的颜色在Excel中的字段重复项

我已经从MySQL数据库提取了一个重复列表到一个Excel工作表。 这个excel表明,我们有重复的(〜1,900),有时候根据excel工作表的单个字段重复三次。

例如:

10019 10019 10048 10048 10060 10060 

我怎么去着色重复对,以便它们可以很容易地看作是一对一对。 基本上我想用一个交替的颜色填充每个重复的对,这样我就可以很容易地看到对。

你正在谈论的过程叫'复制带'。 一对Scripting.Dictionary对象应该很容易处理。

 Sub colorDuplicateColor2() Dim d As Long, dODDs As Object, dEVNs As Object, vTMPs As Variant Dim bOE As Boolean Set dODDs = CreateObject("Scripting.Dictionary") Set dEVNs = CreateObject("Scripting.Dictionary") dODDs.CompareMode = vbTextCompare dEVNs.CompareMode = vbTextCompare With Worksheets("Sheet7") If .AutoFilterMode Then .AutoFilterMode = False With .Range(.Cells(1, "C"), .Cells(Rows.Count, "C").End(xlUp)) With .Columns(1) .Cells.Interior.Pattern = xlNone End With With .Resize(.Rows.Count - 1, 1).Offset(1, 0) vTMPs = .Value2 End With For d = LBound(vTMPs, 1) To UBound(vTMPs, 1) 'the dictionary Items have to be strings to be used as filter criteria If Not (dODDs.exists(vTMPs(d, 1)) Or dEVNs.exists(vTMPs(d, 1))) Then If bOE Then dODDs.Item(vTMPs(d, 1)) = CStr(vTMPs(d, 1)) Else dEVNs.Item(vTMPs(d, 1)) = CStr(vTMPs(d, 1)) End If bOE = Not bOE End If Next d With .Columns(1) .AutoFilter Field:=1, Criteria1:=dODDs.Items, Operator:=xlFilterValues .SpecialCells(xlCellTypeVisible).Interior.Color = RGB(210, 210, 210) 'use this to band the entire row '.SpecialCells(xlCellTypeVisible).EntireRow.Interior.Color = RGB(210, 210, 210) 'use this to band the row within the UsedRange 'Intersect(.Parent.UsedRange, .SpecialCells(xlCellTypeVisible).EntireRow).Interior.Color = RGB(210, 210, 210) .AutoFilter .AutoFilter Field:=1, Criteria1:=dEVNs.Items, Operator:=xlFilterValues .SpecialCells(xlCellTypeVisible).Interior.Color = RGB(255, 200, 200) .Cells(1).EntireRow.Interior.Pattern = xlNone End With End With If .AutoFilterMode Then .AutoFilterMode = False End With dODDs.RemoveAll: Set dODDs = Nothing dEVNs.RemoveAll: Set dEVNs = Nothing Erase vTMPs End Sub 

当然,数据必须在重复条件列上sorting。

duplicateBanding

这个过程可以很容易地调整为全行或行内数据块绑定。