VBA:如何为重复行着色?

时间:2015-02-06 19:11:02

标签: vba excel-vba row excel

我是vba的新手,我需要帮助为重复的行着色,而不仅仅是这样做的单元格,任何可以帮助我的人。

Sub FindDuplicate()

Dim cel As Variant
Dim myrng As Range
Dim clr As Long

Set myrng = Range("S2:S" & Range("S65536").End(xlUp).row)
myrng.Interior.ColorIndex = xlNone
clr = 3

For Each cel In myrng
    If Application.WorksheetFunction.CountIf(myrng, cel) > 1 Then
        If WorksheetFunction.CountIf(Range("S2:S" & cel.row), cel) = 1 Then
            cel.Interior.ColorIndex = 3
        Else
            cel.Interior.ColorIndex = myrng.Cells(WorksheetFunction.Match(cel.Value, myrng, False), 1).Interior.ColorIndex
        End If
    End If
Next

End Sub

2 个答案:

答案 0 :(得分:1)

在您的代码中,更改

cel.Interior.ColorIndex = 3

Rows(cel.Row).Interior.ColorIndex = 3

答案 1 :(得分:0)

我用jeanno的回答解决了这个问题,谢谢。

我补充说:

Rows(cel.row).Interior.ColorIndex = 3
        Else
            Rows(cel.row).Interior.ColorIndex = myrng.Cells(WorksheetFunction.Match(cel.Value, myrng, False), 1).Interior.ColorIndex