【问题标题】:conditional formatting and vba条件格式和 vba
【发布时间】:2016-01-07 15:34:33
【问题描述】:

在宏中我使用以下代码:

With Range("T2:X31")
    .FormatConditions.Delete
    .FormatConditions.Add Type:=xlExpression, Formula1:="=$R2=0"
    .FormatConditions.Add Type:=xlExpression, Formula1:="=$AE2"
    .FormatConditions.Add Type:=xlExpression, Formula1:="=$AF2"
    .FormatConditions(1).Interior.Color = RGB(216, 216, 216)
    .FormatConditions(1).Font.Color = RGB(216, 216, 216)
    .FormatConditions(2).Interior.Color = RGB(255, 40, 40)
    .FormatConditions(2).Font.Color = RGB(255, 255, 255)
    .FormatConditions(3).Interior.Color = RGB(255, 128, 0)
    .FormatConditions(3).Font.Color = RGB(0, 0, 0)
End With

当我检查条件格式规则时,我想在 excel 中得到什么(手动输入):

我得到的是

除了行(1046053 而不是 2)外,一切都很好。我应该如何输入单元格引用以获得正确的公式。

【问题讨论】:

  • EDIT - 我实际上只是运行了你的代码,它对我来说非常有效! ...我有一个问题。这部分代码运行时,您激活或选择了哪些单元格?
  • 这是 Excel 2007 吗?那个版本的 CF 有点小问题。 2523有什么意义?通常,当删除行时会发生这种情况,因为 CFR 公式试图通过重写公式来补偿已删除的行以适应,并且当调整行引用低于 1 并最终出现在底部时,“锡罐”效应开始发挥作用工作表。

标签: excel conditional-formatting vba


【解决方案1】:

在设置条件之前尝试选择A2:

Range("A2").Select

我从未使用过 VBA,但我怀疑其条件格式中的公式与当前选择有关。

我认为最好选择您实际设置条件的范围,就像您从界面中所做的那样:

Range("T2:X31").Select

【讨论】:

  • 我在.FormatConditions.Delete 之前添加了.Select,效果很好。谢谢,我在阅读的文档中没有找到任何线索。
猜你喜欢
  • 2015-02-28
  • 2016-12-18
  • 2011-10-02
  • 1970-01-01
  • 2017-03-05
  • 1970-01-01
  • 2018-05-28
  • 2016-10-02
  • 1970-01-01
相关资源
最近更新 更多