我有以下代码,我正在敲打墙,为什么它不起作用。 当使用范围为$ K10的注释行时,当我指定命名范围rngValidation时它工作正常。定义的名称范围“ptrValidationCells”设置为$ K10。
Sub FormatConditions_2()
Dim rngToFormat As Range
Dim rngValidation As Range
Set rngToFormat = ActiveSheet.Range("inpInputCells")
Set rngValidation = ActiveSheet.Range("ptrValidationCell")
' rngToFormat.FormatConditions.Add Type:=xlExpression, Formula1:="=$K10<>FALSE"
rngToFormat.FormatConditions.Add Type:=xlExpression, Formula1:="=rngValidation <>FALSE"
With rngToFormat.FormatConditions(2).Interior
.PatternColorIndex = xlAutomatic
.Color = RGB(255, 192, 0)
.TintAndShade = 0
End With
With rngToFormat.FormatConditions(2).Font
.Bold = True
.Italic = False
.Color = RGB(192, 0, 0)
.TintAndShade = 0
End With
End Sub
感谢您的帮助
答案 0 :(得分:0)
FormatConditions在Workbook环境中执行,而不是在VBA环境中执行(如果我可以这样说),所以你需要使用命名范围而不是VBA变量。
可替换地,
rngToFormat.FormatConditions.Add Type:=xlExpression, Formula1:="=" & rngValidation.Address & "<>FALSE"
应该这样做。