公式只能在条件格式下使用,而不能在VBA中使用

时间:2019-07-02 08:05:50

标签: excel vba

下面的代码中的公式在以条件格式使用但在VBA中不可用时有效:

Sub setCondFormat()
    Range("P69").Select
    With Range("P69:P10000")
        .FormatConditions.Add Type:=xlExpression, Formula1:= _
          "=AND($P69>$S69;$B69<>$B70:$B241;$I69<>"")"
        With .FormatConditions(.FormatConditions.Count)
            .SetFirstPriority
            With .Interior
                .PatternColorIndex = xlAutomatic
                .Color = -6052865
                .TintAndShade = 0
            End With
        End With
    End With
End Sub

我已经尝试将;更改为,,但没有用。我还删除了$,但这也没用。

当我仅使用此公式时,它会起作用: =$P69>$S69

当我删除=时,它起作用了,但是后来我有了条件格式的公式: ="AND($P69>$S69;$B69<>$B70:$B241;$I69<>"")"当然是行不通的

我有英文版。

请问您是什么问题?

1 个答案:

答案 0 :(得分:0)

问题似乎出在公式最后部分的引号:$I69<>""上。您必须通过加倍来逃避它们:

Formula1:= "=AND($P69>$S69,$B69<>$B70:$B241,$I69<>"""")"

我还建议,作为初学者,您可以尝试使用宏记录器来查看UI操作背后的代码,例如在这种情况下。