【问题标题】:Excel 2010 VBA Macro Conditional Formatting of row if cell contains text snippet如果单元格包含文本片段,则行的 Excel 2010 VBA 宏条件格式
【发布时间】:2012-11-15 16:47:06
【问题描述】:

我正在宏中进行条件格式设置(因为我不断地将它与其他格式一起重复应用到新的原始导出中)。

目标:突出显示单元格 J(n) 中的文本为“无活动”的任何行

目前使用:

    With Cells
.FormatConditions.Add Type:=xlExpression, Formula1:= _
    "=($J1=""No Activity"")"
    With .FormatConditions(.FormatConditions.Count)
        .SetFirstPriority
        With .Interior
            .PatternColorIndex = xlAutomatic
            .Color = 7405514
            .TintAndShade = 0
        End With
        StopIfTrue = False
    End With
End With

...效果很好。以上内容是使用谷歌搜索和最初给我的录音清理的:

    Cells.Select
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
    "=($N1=""No Activity"")"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
    .PatternColorIndex = xlAutomatic
    .ThemeColor = xlThemeColorAccent4
    .TintAndShade = 0.599963377788629
End With
Selection.FormatConditions(1).StopIfTrue = False

所以我感到非常自豪和成就...... 但是我还想突出显示 J 列(如上)中的单元格包含的行(以不同的颜色) em> 在单元格文本中的任何位置“引用”。

当我录制了一个将其作为条件格式的宏时,它并没有真正为我澄清任何事情:(好吧,它让情况变得更糟)

    Selection.FormatConditions.Add Type:=xlTextString, String:="Quote", _
    TextOperator:=xlContains
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
    .PatternColorIndex = xlAutomatic
    .ThemeColor = xlThemeColorAccent1
    .TintAndShade = 0.399945066682943
End With
Selection.FormatConditions(1).StopIfTrue = False

我只是不明白它应该如何变化

Type:=xlExpression, Formula1:= _
"=($J1=""No Activity"")"

非常感谢所有想法!

【问题讨论】:

    标签: excel vba conditional


    【解决方案1】:

    这适用于 Excel 2010:

    With Cells
        .FormatConditions.Add Type:=xlExpression, Formula1:= _
          "=($J1=""No Activity"")"
        With .FormatConditions(.FormatConditions.Count)
            .SetFirstPriority
            With .Interior
                .PatternColorIndex = xlAutomatic
                .Color = 7405514
                .TintAndShade = 0
            End With
            StopIfTrue = False
        End With
    
        .FormatConditions.Add Type:=xlExpression, Formula1:= _
          "=ISNUMBER(SEARCH(""*quote*"",$J1))"
        With .FormatConditions(.FormatConditions.Count)
            .SetFirstPriority
            With .Interior
                .PatternColorIndex = xlAutomatic
                .Color = 4405514
                .TintAndShade = 0
            End With
            StopIfTrue = False
        End With
    End With
    

    显然您需要更改第二个FormatConditions.Add 部分的颜色。

    编辑:意识到您在单元格中的任何位置都在寻找“报价”,因此我更新了原始帖子中的代码。

    【讨论】:

      猜你喜欢
      • 2016-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多