Vba 根据列值以不同颜色高亮显示重复项

Vba 根据列值以不同颜色高亮显示重复项,vba,excel,Vba,Excel,请您建议我如何以相同的方式突出显示重复项,但以列值为基础 例如: 列A1的值为“ID”,B1的值为“Name”,C1的值为“Title” 如果列x1仅是ID或名称,我想突出显示DUP。(“x”可以是活动工作表中的任何列) 我不知道如何进一步进行,因为我是VBA的初学者 如果将代码附加到上一个代码,也可以 如果您为我这样做,我将非常感谢您。如果我知道您希望在工作表中突出显示重复项 请尝试以下代码,它将在向列添加重复值时高亮显示 Option Explicit Private Sub Workshe

请您建议我如何以相同的方式突出显示重复项,但以列值为基础

例如:
列A1的值为“ID”,B1的值为“Name”,C1的值为“Title”

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

我不知道如何进一步进行,因为我是VBA的初学者

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


如果您为我这样做,我将非常感谢您。

如果我知道您希望在工作表中突出显示重复项

请尝试以下代码,它将在向列添加重复值时高亮显示

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
选项显式
私有子工作表_更改(ByVal目标作为范围)
Dim xlRng As范围
Dim xlCel As系列
Dim xlCol As范围
调光范围
作为字符串的Dim XlStri
“//重复项将以红色突出显示
Target.Interior.ColorIndex=xlNone
对于Target.Columns中的每个xlCol
设置xlRng=范围(单元格(1,xlCol.Column),单元格(Rows.Count,xlCol.Column).End(xlUp))
调试.打印xlRng.地址
对于xlCol中的每个xlCel
如果工作表function.CountIf(xlRng,xlCel.Value)>1,则
设置C=xlRng.Find(What:=xlCel.Value,LookIn:=xlValues)
如果不是,那么C什么都不是
XlStri=C.地址
做
C.Interior.ColorIndex=3
设置C=xlRng.FindNext(C)
循环而不是C为Nothing,C为地址XlStri
如果结束
如果结束
下一个
下一个xlCol
端接头
要使用上述代码,需要将其放入工作表的“工作表更改”事件中

  • 转到要更改的工作表
  • 转到工作表名称出现的底部(例如“Sheet1”)
  • 右键单击并选择“查看代码”

    希望这有帮助


我在这里看不到任何代码示例,您的意思是如果b2=mr pepe和x14=mr pepe,则x14和b2应为绿色?VBA或VBScript?它们不是同一件事。请展示示例(截图)你现在有什么和你需要什么