在coulmn中查找重复项并使用其他颜色突出显示行背景颜色

时间:2017-03-15 11:30:34

标签: excel vba excel-vba

Initial content

Processed content

  1. 我想突出显示行的单元格颜色(文本位于“A”列中 当“A”栏中的值相同且想要时,“G”)具有相同的颜色 对所有行重复相同的操作&应用其他颜色。
  2. 还想在2个单元格中更改字体颜色为红色(列“F”和 “G”)当“F”栏中有文件“文件在EMEA服务器上”时。

1 个答案:

答案 0 :(得分:1)

此宏在两种颜色之间交替变换,当A列中的值发生变化时会发生变化。

Sub Highlighting()

Dim rw As Long
Dim lastrw As Long

' Define 2 different highlighting colours by their RGB values
Dim col1 As Long
Dim col2 As Long
col1 = RGB(255, 230, 180)
col2 = RGB(180, 230, 255)
' "Current" colour for highlighting
Dim col As Long
col = col1

With ThisWorkbook.ActiveSheet
    ' Get last row by last non-empty cell in column A
    lastrw = .Cells(.Rows.Count, 1).End(xlUp).Row
    ' Cycle through column A
    For rw = 1 To lastrw
        ' Highlight row with current colour
        .Range("A" & rw & ":G" & rw).Interior.Color = col
        ' If column A value in next row is different, change colour
        If .Cells(rw + 1, 1).Value <> .Cells(rw, 1) Then
            ' Set to whichever colour it is not
            If col = col1 Then
                col = col2
            Else
                col = col1
            End If
        End If
    Next rw
End With

End Sub

在:

before

后:

after

在某些情况下,您可以通过将自己的条件If .Range("F" & rw).Value = "Files ... "等插入主For循环来将字体颜色更改为红色。