Excel 2007 - VBA - 根据单元格值在范围上应用条件格式

时间:2018-04-04 20:27:30

标签: excel vba excel-vba

出于某种原因,我无法弄清楚为什么我可以定期应用于条件格式的相同公式在VBA中不起作用。如果每行中的一个单元格不是空白的话,我试图突出显示该范围内的行。

以下是我正在使用的代码:

With Range("$A3:$L1000")
.FormatConditions.Delete
.FormatConditions.Add xlExpression, Formula1:="=($J3)<>"""""
.FormatConditions(1).Interior.ColorIndex = 46

End With

当它适用于文档时,这是条件格式的公式 enter image description here enter image description here

非常感谢您提供的所有帮助/建议。

1 个答案:

答案 0 :(得分:0)

更新

我通过录制一个宏来解决这个问题,我将条件格式分配给一行,复制格式,然后将其粘贴到活动范围。

感谢大家的投入,希望这有助于其他人的发展!

代码

Range("A3:M3").Select
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=($J3)<>"""""
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent6
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False
    Selection.Copy
    Range(Selection, Selection.End(xlDown)).Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False