根据列值突出显示不同颜色的重复项

时间:2015-05-21 04:55:44

标签: vba excel-vba excel

您能否建议我如何以相同的方式突出重复项,但基于列值。

例如:
列A1具有值“ID”,B1具有“名称”,C1具有“标题”。

如果列x1仅为ID或名称,我想突出显示重复项。 (“x”可以是活动工作表中的任何列)。

我不知道如何继续前进,因为我是VBA的初学者

如果将代码附加到上一个代码,也可以。

如果你这样做,我会非常感谢你。

1 个答案:

答案 0 :(得分:0)

如果我理解你想突出显示工作表中的重复项,

尝试以下代码,当您向列添加重复值时,它会突出显示

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim xlRng As Range
    Dim xlCel As Range
    Dim xlCol As Range
    Dim C As Range
    Dim XlStri As String

    '// Duplicates will be highlighted in red
    Target.Interior.ColorIndex = xlNone
    For Each xlCol In Target.Columns
        Set xlRng = Range(Cells(1, xlCol.Column), Cells(Rows.Count, xlCol.Column).End(xlUp))
        Debug.Print xlRng.Address

        For Each xlCel In xlCol
            If WorksheetFunction.CountIf(xlRng, xlCel.Value) > 1 Then
                Set C = xlRng.Find(What:=xlCel.Value, LookIn:=xlValues)
                If Not C Is Nothing Then
                    XlStri = C.Address
                    Do
                        C.Interior.ColorIndex = 3
                        Set C = xlRng.FindNext(C)
                    Loop While Not C Is Nothing And C.Address <> XlStri
                End If
            End If
        Next
    Next xlCol

End Sub

要使用上述代码,您需要将工作表更改为工作表。

  • 转到要更改的工作表
  • 转到底部,显示工作表名称(例如&#34; Sheet1&#34;)
  • 右键单击并选择&#34;查看代码&#34;

    希望这会有所帮助