有没有办法遍历列中特定颜色的单元格?

时间:2019-05-28 13:20:53

标签: excel vba duplicates

我在电子表格中有一个列(L列),其中有许多条目,该列中有一些重复的值。每个重复值的“组”都以唯一的颜色着色。所以我在列中有很多颜色,每种颜色都引用一组重复的值。我必须遍历每个“组”,以便所有单元格都以相同的颜色着色并进行一些计算。但是,我不知道如何遍历列中来自同一颜色的所有单元格。

如果您能帮助我,我将非常高兴:)

1 个答案:

答案 0 :(得分:0)

您可以尝试:

Option Explicit

Sub test()

    Dim LastRow As Long, i As Long, j As Long
    Dim arr As Variant

    With ThisWorkbook.Worksheets("Sheet1")

        'Find Last row of column L
        LastRow = .Cells(.Rows.Count, "L").End(xlUp).Row

        'Set array starting from row 2 to LastRow of column L
        arr = .Range("L2:L" & LastRow)

        For i = LBound(arr) To UBound(arr)

            If .Range("L" & i).Interior.Pattern <> xlNone Then

                For j = LBound(arr) To UBound(arr)

                    If (.Range("L" & j).Interior.Pattern <> xlNone) And (i <> j) Then

                        If .Range("L" & i).Interior.Color = .Range("L" & j).Interior.Color Then

                            If .Range("N" & i).Value = "" Then
                                .Range("N" & i).Value = "Cell L" & i & " has the same background color with cell/s L" & j
                            Else
                                .Range("N" & i).Value = .Range("N" & i).Value & ", L" & j
                            End If

                        End If

                    End If

                Next j

            End If

        Next i

    End With

End Sub

结果:

enter image description here