突出显示重复的行(不是单元格)

突出显示重复的行(不是单元格)

我需要突出显示 Excel 2013 工作表中的重复行。我可以使用“突出显示 --> 重复”方法突出显示行中的重复单元格值,但我试图做的是突出显示重复的行。如果该行只有一个单元格不同,那么在我的情况下它不被视为重复。

例子:

Name    Task     Phone Number
A       Do 1     12345
B       Do 1     12345
A       Do 2     12345
B       Do 1     12345

对于上表,仅应突出显示第 2 行和第 4 行。

答案1

你要求突出显示行,但我猜这可能有问题(尽管你没有描述为什么你想要这样做)。假设你有 10 行,其中许多行与其他行匹配,你的工作表将如下所示

在此处输入图片描述

问题是您不知道哪一行与哪一行匹配!

当您下次运行脚本时,您仍然会遇到这个问题,突出显示将持续存在。

因此,我提供了一个带有额外信息列的解决方案(下面的屏幕截图):

Sub WalkThePlank()

Dim startRow As Integer
startRow = 2                 'Update this to lead us to the treasure

Dim row As Integer
row = startRow

Do While (Range("A" & row).Value <> "")

    Dim innerRow As Integer
    innerRow = row + 1

    Dim name As String
    Dim task As String
    Dim phone As String

    name = Range("A" & row).Value
    task = Range("B" & row).Value
    phone = Range("C" & row).Value

    Do While (Range("A" & innerRow).Value <> "")


        If (Range("A" & innerRow).Value = name And Range("B" & innerRow).Value = task And Range("C" & innerRow).Value = phone) Then
            Range("D" & row).Value = Range("D" & row).Value & innerRow & ", "
            Range("D" & innerRow).Value = Range("D" & innerRow).Value & row & ", "
            'Rows(row).Interior.ColorIndex = 6      'UNCOMMENT THIS LINE IF YOU WANT HIGHLIGHTING

            'Rows(innerRow).Interior.ColorIndex = 6      'UNCOMMENT THIS LINE IF YOU WANT HIGHLIGHTING
        End If

    innerRow = innerRow + 1
    Loop

    row = row + 1
Loop

End Sub

这就是它的作用

在此处输入图片描述

在文件副本上执行此操作 - 没有撤消功能!

请注意,代码中有两行显示要取消注释哪一行(删除'这些行中的第一行,它们就会突出显示)

如何在 MS Office 中添加 VBA?

相关内容