条件格式(准确标准和多列)

时间:2018-04-13 16:29:56

标签: excel vba excel-vba conditional-statements conditional-formatting

我是一个excel vba noob,我非常坚持这个代码,我需要格式化包含多列特定标准的单元格。

例如,我需要突出显示所有值,除了包含“完整”的单元格为黄色并带有BOLD RED FONT。

我试图通过简单地过滤掉“完成”并突出显示所有其他值来记录它,但我需要它是动态的。

Sub Macro1()

ActiveSheet.Range("$A$1:$W$6114").AutoFilter Field:=6, Criteria1:= _
    "=Incomplete", Operator:=xlOr, Criteria2:="="
Range("F171").Select
Range(Selection, Selection.End(xlDown)).Select
Range("F171:F6114").Select
With Selection.Interior
    .Pattern = xlSolid
    .PatternColorIndex = xlAutomatic
    .Color = 65535
    .TintAndShade = 0
    .PatternTintAndShade = 0
End With
With Selection.Font
    .Color = -16776961
    .TintAndShade = 0
End With
Selection.Font.Bold = True
End Sub

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

试试这个:

Sub Macro1()

Dim rng As Range
Set rng = ActiveSheet.Range("A1").CurrentRegion

With rng

.AutoFilter Field:=6, Criteria1:="<>Complete", Operator:=xlAnd

End With

With rng.Range(Cells(2, 6), Cells(rng.Rows.Count, 6)).SpecialCells(xlCellTypeVisible)

    With .Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = vbYellow
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With

    With .Font
        .Color = vbRed
        .TintAndShade = 0
        .Bold = True
    End With

End With

End Sub