【问题标题】:Excel VBA FormatCondiitons for multiple conditions多个条件的 Excel VBA 格式条件
【发布时间】:2017-11-03 04:25:43
【问题描述】:

我是 vba 的新手,我对如何根据多个条件格式化范围感到困惑。例如,我想突出显示列(a:g)中的单元格,仅当它们的值小于 0 并且列 H 中它们各自行中的值包含字符串“yes”或“no”时。我为执行此功能而编写的代码不起作用,但看起来像这样。

Columns("A:G").Select
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=AND(OR($H1 = ""YES"", $H1 = ""NO""),Columns(A,G) < 0)"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority

With Selection.FormatConditions(1).Interior
    .PatternColorIndex = xlAutomatic
    .Color = 120000
    .TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False

谁能指出我正确的方向?谢谢!

【问题讨论】:

  • @lebelinoz - 这基本上是记录的代码,实际上已经被清理了一点。我已将其减少到以下最低限度。

标签: vba excel conditional-formatting multiple-conditions


【解决方案1】:

试试看,

With Worksheets("sheet2").Columns("A:G")
    .FormatConditions.Delete
    With .FormatConditions.Add(Type:=xlExpression, _
      Formula1:="=AND(OR($H1=""yes"", $H1=""no""), $G1<0, $A1<0)")
        .Interior.Color = 120000
        .StopIfTrue = False
    End With
End With

重读你原来的叙述后,我相信这可能是一个更好的公式。

Formula1:="=AND(OR($H1=""yes"", $H1=""no""), A1<0")

【讨论】:

  • 正要发布固定公式:)。我卡在将 H 列错误输入为 G :0
  • 感谢您关注我,斯科特!你永远不知道我什么时候开始在咖啡里加苏格兰威士忌。
  • 或者也许是苏格兰威士忌的咖啡!
猜你喜欢
  • 2016-10-02
  • 2017-03-05
  • 1970-01-01
  • 2011-10-02
  • 2013-08-15
  • 1970-01-01
  • 2017-10-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多