VBA代码可将两个带有颜色的列进行比较并将其与另一个列进行比较

时间:2019-05-23 09:38:47

标签: excel vba

我有三列AA,AB和AF,我必须分别比较所有行的AA和AB列与AF列。宏应首先检查AA和AB列,并找出哪一列具有琥珀色,并且应将该列与相应的AF列进行比较(仅当该Amber列的值为“ Critical”时),以检查AF列的天数少于335天。

此查询首先将AA和AB列进行比较,其中哪一个具有琥珀色,并将其与琥珀色进行比较,如果找到该值,它将检查“ Critical”值,然后检查日期是否少于335天的相应AF列。查询以某种方式不起作用。请帮助我。

Sub EUDA_New()


Dim Critical As Range
Dim StartDate As Date
Dim amberColor As Boolean

StartDate = Date

With ThisWorkbook.Worksheets("TEMPLATE")

    LRow = .Cells(.Rows.Count, "AB").End(xlUp).Row
    For Each Critical In .Range("AB11:AB" & LRow)

        amberColor = False

        If .Range("AA" & Critical.Row).Interior.ColorIndex = RGB(255, 192, 0) Then

            Set Critical = .Range("AA" & Critical.Row)

            amberColor = True

        ElseIf .Range("AB" & Critical.Row).Interior.Color = RGB(255, 192, 0) Then

            amberColor = True
        End If


        If amberColor And Critical.Value = "Critical" Then

            If IsDate(.Range("AF" & Critical.Row)) Then

                If DateValue(.Range("AF" & Critical.Row)) < StartDate - 335 Then

                    .Range("AF" & Critical.Row).Interior.Color = vbRed
                End If
            Else

                .Range("AF" & Critical.Row).Interior.Color = vbRed
            End If
        End If
    Next Critical

End With
End Sub

0 个答案:

没有答案