以下方案在Excel中的条件格式设置

时间:2012-11-22 10:30:45

标签: excel vba ms-office

我想要突出显示excel表格单元格(列'A'),当它不包含“Verify”,“Validate”或“Evaluate”等文本时,如果,列'B'的相应单元格中的值'保持'Y'的价值。

当“A”列不能包含“验证”,“验证”和“评估”等字样时,如果“B”列中的相应单元格保持值“N”。因此,只需突出显示那些差异即可。

  

列'A':按Enter键并验证这一点......

     

列'B':Y

1 个答案:

答案 0 :(得分:0)

这是一个快速的例子。但是,如果B列不能为空,则可以缩短第二个公式。看看这适合......

Example

修改

以下是VBA示例请求。您需要将代码保存到当前工作表中(例如:Sheet1)...

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim str As String
    Dim lCol As Long
    Dim oCell As Object
    Dim oCellFormat As Object
    lCol = Target.Column

    If lCol = 1 Or lCol = 2 Then
       Set oCell = Cells(Target.Row, 1)
    Else
        GoTo mExit
    End If
    str = UCase(oCell.Value)
    Set oCellFormat = Cells(oCell.Row, 1)
    If (str = "VERIFY" Or str = "VALIDATE" Or str = "EVALUATE") Then
        If UCase(Cells(oCell.Row, 2).Value) = "N" Then
            oCellFormat.Interior.ColorIndex = 3 'red
        ElseIf UCase(Cells(oCell.Row, 2).Value) = "Y" Then
            oCellFormat.Interior.ColorIndex = 4 'green
        Else
            oCellFormat.Interior.ColorIndex = 2 'white
        End If
    Else
        oCellFormat.Interior.ColorIndex = 2 'white
    End If
    GoTo mExit
    Exit Sub
mExit:
    Set oCell = Nothing 'free resources
    Set oCellFormat = Nothing
End Sub