Формула работает в условном форматировании, но не в VBA - PullRequest
0 голосов
/ 02 июля 2019

Формула в приведенном ниже коде работает, когда я использую ее в условном форматировании, но не в 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 голосов
/ 02 июля 2019

Кажется, проблема в кавычках в последней части формулы: $I69<>"". Вы должны избежать их, удвоив:

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

Я бы также предположил, что как новичок вы можете попробовать использовать макро-рекордер, чтобы увидеть код ваших действий пользовательского интерфейса, как в этом случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...