定义条件格式时的运行时错误438

时间:2017-08-06 19:20:52

标签: vba excel-vba excel

我正在尝试编写Excel宏来为我的工作簿中的工作表设置条件格式,称为"结果" 。基本上,期望的结果是突出显示以感叹号开头的所有单元格("!")。我知道解决方案必须简单,但我不断收到以下错误:'运行时错误438:对象不支持此属性或方法'而且我无法弄清楚如何让它发挥作用。

调试器显示错误发生在第5行,即.Interior.Color ....

Sub ResultsFormating()

Sheets("Results").Select
With Cells.FormatConditions
  .Add Type:=xlExpression, Formula1:="=left(A1,1) = ""!"" "
  .Interior.Color = RGB(255, 0, 0)
End With

End Sub

一点帮助将不胜感激!

1 个答案:

答案 0 :(得分:2)

.Interior是新添加的FormatCondition对象的成员,而不是FormatConditions集合的成员。在设置新格式之前,.Delete旧格式条件(如果有)也是一种好习惯,除非目的是为相同范围创建多个格式。

试试这个:

Sub ResultsFormating()
  With Sheets("Results").Cells.FormatConditions
    .Delete  
    With .Add(Type:=xlExpression, Formula1:="=left(A1,1) = ""!"" ")
      .Interior.Color = RGB(255, 0, 0)
    End With
  End With
End Sub