在Excel中查找并突出显示重复的条目

看不见的999

我想查找重复的行,并分别突出显示具有唯一内容的每个重复行

举个例子:

第1行-'交易$ 44.20'

第25行-'交易$ 44.20'

第31行-'交易$ 57.40'

第46行-'交易$ 57.40'

第54行-'交易$ 57.40'

第156行-'交易$ 15.90'

第197行-'交易$ 15.90'

如您所见,存在三组重复项-第1行和第25行,第31、46和54行以及第156和197行,而每个重复内容都是唯一的。

我想查找并突出显示所有这些唯一但重复的条目集,每个条目都有单独的颜色。因此,第1,25行-一种颜色,第31,46,54行-另一种颜色,第156,197行-第三种颜色,依此类推。

Excel自己的条件格式->突出显示单元格规则->查找重复项将以相同的颜色突出显示所有它们。这不是我想要的。

有想法吗?

汤姆·夏普

我以为我可以尝试一下并重新提高我的VBA技能,尽管以前可能已经做过。

我的想法是,我正在使用字典来存储不同的交易金额作为键。如果第二次找到键,那么我知道它是重复的,可以突出显示原始值和重复项。

我选择定义一个类Dictionary Dictionary Entry,用于存储“键”的第一个实例的位置,以及一个布尔型标志,该标志告诉我是否已经发生过多次(在这种情况下,我不需要更改颜色,但只会获取现有颜色)。

Public FirstInstance As Long, Dup As Boolean

由于预定义的颜色集中只有56种颜色,因此最终将用完所有颜色,因此如果发生这种情况,我将其设置为重复该颜色集,但是在IMO之前情况会变得非常混乱

Sub HighlightDups()
Dim MyDictionary As Scripting.Dictionary
Set MyDictionary = New Scripting.Dictionary
Dim MyDictionaryEntry As DictionaryEntry
Dim MyColour, palette As Integer
Dim I, LastRow As Long
Dim contents As Single
palette = 2

With ActiveSheet
    LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
End With

With MyDictionary
For i = 1 To LastRow
    contents = Cells(i, 1)
    If Not .Exists(contents) Then
        ' New key - create entry
        Set MyDictionaryEntry = New DictionaryEntry
        MyDictionaryEntry.FirstInstance = i
        .Add contents, MyDictionaryEntry
    Else
        If Not .Item(contents).Dup Then
            ' Dup not previously found - set new colour
            palette = palette + 1
            If palette > 56 Then palette = 2
            .Item(contents).Dup = True
            Cells(i, 1).Interior.ColorIndex = palette
            Cells(.Item(contents).FirstInstance, 1).Interior.ColorIndex = palette

        Else
            'Dup already found - retrieve previous colour
            MyColour = Cells(.Item(contents).FirstInstance, 1).Interior.ColorIndex
            Cells(i, 1).Interior.ColorIndex = MyColour
        End If
    End If
Next i
End With

End Sub

为了使这项工作有效,您可能必须向Google发送有关如何添加类和字典的信息-尽管这非常简单。

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在 Excel 的多列中查找/突出显示重复值

Excel 以 2 列为基础查找或突出显示重复项

查找并突出显示重复项

突出显示具有重复金额的重复客户。在Excel中

突出显示重复值并从 Excel 中的列表中绘制

Excel格式规则根据每个日期列条目突出显示重复项

Excel-突出显示并删除行中重复的列值

删除/突出显示Excel中跨多列的重复行

通过VBA宏突出显示excel中的重复行

Solr 比赛中的空突出显示条目?

查找列中重复条目的行

查找和修改集合中的重复条目

在 SQL DB 中查找重复条目并仅显示一个

突出显示工作簿中的重复项

如何在Excel 2013中突出显示包含重复值的行?

Excel中重复单元格的区分大小写突出显示

Excel:如何突出显示在另一列中重复的最高值单元格

Excel中的错误?用于标记重复项的条件格式也突出显示了唯一的价值

Excel将文本视为COUNTIF中的数字以突出显示重复项

Excel-当值不相邻时如何在其自己的行中突出显示重复的值

仅当存在4个或更多实例时,才如何删除(或突出显示)Excel中的重复行?

仅当它们相邻时才在excel中突出显示重复数字20

jQuery从列表中查找文本并突出显示

在 word 插件中查找并突出显示问题

在Laravel中显示重复条目警告

如何查找每个组的最新条目并显示在 Excel 中的单独工作表中

突出显示重复的值

查找突出显示的文本

突出显示Excel文档中的行