【问题标题】:vba conditional formating based on a different column基于不同列的vba条件格式
【发布时间】:2018-10-27 15:26:22
【问题描述】:

我有范围“A1:B10”。 我想对范围 A1:A10 应用条件格式,这样如果该行中的单元格 B 包含文本“ok”,则对该行中的单元格 A 应用某种格式。

例子:

A        B
text    ok
text    other text
text    ok

单元格 A1 和 A3 将通过条件格式设置进行格式化。 我了解如何使用 FormatConditions.Add 来测试我想要格式化的相同单元格,但不是基于其他单元格中的条件。

谢谢

【问题讨论】:

  • 你知道你不需要VBA,对吧?条件格式默认知道这一点,那么为什么不直接在设置宏时录制它呢?
  • 我举了一个简单的例子来理解如何使用formatConditions。在我的宏中,条件要复杂得多,录制给我带来了太多混乱

标签: excel vba conditional-formatting


【解决方案1】:

当引用被格式化的单元格以外的单元格时,请注意绝对相对引用。

还要注意转义引号的双引号。

Range("A1:B3").FormatConditions.Add Type:=xlExpression, Formula1:="=$B1=""ok"""

【讨论】:

    【解决方案2】:

    要使条件格式基于其他单元格,请引用公式中的其他单元格。

    Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=NOT(ISERROR(SEARCH(""ok"", B1)))"
    

    Offset 函数也适用于公式。

    Range("A:A").FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=OFFSET(A1, 0, 1)="ok""
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-24
      • 1970-01-01
      相关资源
      最近更新 更多