Vba 定义条件格式时出现运行时错误438
我试图编写一个Excel宏,为工作簿中名为“结果”的工作表设置条件格式。基本上,所需的结果是高亮显示以感叹号(!)开头的所有单元格。我知道解决方案必须很简单,但我一直遇到以下错误:“运行时错误438:对象不支持此属性或方法”,我就是不知道如何使其工作 调试器显示错误发生在第5行,即.Interior.ColorVba 定义条件格式时出现运行时错误438,vba,excel,Vba,Excel,我试图编写一个Excel宏,为工作簿中名为“结果”的工作表设置条件格式。基本上,所需的结果是高亮显示以感叹号(!)开头的所有单元格。我知道解决方案必须很简单,但我一直遇到以下错误:“运行时错误438:对象不支持此属性或方法”,我就是不知道如何使其工作 调试器显示错误发生在第5行,即.Interior.Color Sub ResultsFormating() Sheets("Results").Select With Cells.FormatConditions .Add Type:=xlE
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
如果您能帮我一点忙,我们将不胜感激 Interior是新添加的
FormatCondition
对象的成员,而不是FormatConditions
集合。另外,最好在设置新格式条件之前删除旧格式条件(如果有),除非目的是为相同的范围创建多个
试试这个:
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
要弄明白这一点,我可能至少还要花上几个小时,心里充满了挫败感。谢谢大家!@如果要查找
工作表
对象,JaromirSida使用工作表
集合而不是工作表
,并将该对象引用提取到其自身的工作表
局部变量中;这样,您就可以通过早期绑定的成员调用获得IntelliSense,而不是盲目地使用由工作表(或工作表)集合返回的对象。@Mat'smugh这是一个可爱的建议。也可以使用工作表的代号。不幸的是,无论是带有工作表(…)的还是带有工作表的(…)
都不会激活intellisense.:(正确。因此将结果提取到一个局部变量。将工作表作为工作表设置为Dim
,设置工作表=工作表(“结果”)
,带有工作表
。带有
的块将在工作表
界面下工作,而不是对象
。而我对工作表(…)
,我不明白为什么工作表(…)
不返回工作表界面。但无论如何,您的建议是合理的,而且很有帮助(尽管会减少关于SO:P的问题)