VBA突出显示列中的重复项

Posted

技术标签:

【中文标题】VBA突出显示列中的重复项【英文标题】:VBA highlighting duplicates in a column 【发布时间】:2021-02-09 07:08:15 【问题描述】:

我有一列 Excel 数据,我试图突出显示重复值。当我运行 VBA 代码时,它会突出显示每个值(我知道有些值只列出一次)。我的数据从 b 列的第 4 行到第 45605 行以供参考。代码如下:

Sub sbHighlightDuplicatesInColumn()

    Dim lastRow As Range
    Dim matchFoundIndex As Long
    Dim iCntr As Long
    
    
    'makes sure to select the correct sheet to work in
Sheets("repeat offenders").Select

'defines the last row
    'lastRow = Cells(45605, 2)


For iCntr = 4 To 45605
    If Cells(iCntr, 2) <> "" Then
        matchFoundIndex = WorksheetFunction.Match(Cells(iCntr, 2), Range("B4:B45605"), 0)
        If iCntr <> matchFoundIndex Then
        Cells(iCntr, 1).Interior.Color = vbYellow
        End If
        End If
Next iCntr
      
End Sub

【问题讨论】:

【参考方案1】:

“样式”部分的“主页”选项卡上有一个选项,称为条件格式。您可以选择要应用此功能的单元格,然后单击条件格式 > 突出显示单元格规则 > 重复值。将弹出一个对话框,允许您更改突出显示颜色和其他一些选项。希望有帮助。如果你仍然想使用这种方式,你必须在你的第二个 if 语句中添加 3 到 matchFoundIndex。这使它部分工作,但您还需要从匹配功能中排除当前选定的单元格。匹配从顶行开始,因此每个重复项的第一个实例不会突出显示。

【讨论】:

@Meg 如果这对您有用,请点击复选标记以接受答案。

以上是关于VBA突出显示列中的重复项的主要内容,如果未能解决你的问题,请参考以下文章

如果该列中的任何单元格包含红色,则突出显示列标题

Excel:如果在另一列中发现重复的单元格值,则突出显示绿色

如果谷歌电子表格的同一列中的值重复,如何突出显示单元格?

Google 电子表格:尝试突出显示 A 列和 C 列中的值重复的所有行时出错

在excel中突出显示工作表内和工作表之间的重复项

如何突出显示数据框的两个不同列中的唯一数据值?