Раскрашивание условия if() в exel

Раскрашивание условия if() в exel

Приветствую сообщество,

Предположим, что в ячейке файла Excel я хочу ввести следующую формулу

если(a1>a2,"тест1","тест2")

Я хочу добиться того, чтобы шрифты test1 и test2 были разных цветов.

Один из способов — использовать условное форматирование и применять различные правила. Однако мне интересно, есть ли альтернативный — более прямой — подход, например, указание цвета шрифта непосредственно внутри if()формулы или использованиеVBA

заранее спасибо

решение1

Это возможно с помощью VBA. Я предполагаю, что ваша формула находится в ячейке B1

На листе Excel нажмите ALT+ , F11чтобы открыть редактор VBA.

Выберите ваш лист в левой панели. В правом окне кода выберитеРабочий листиз выпадающего списка и затем выберитеИзменятьсобытие из последующего выпадающего списка.

В нем должен быть доступен следующий заполнитель для подпрограммы.

Private Sub Worksheet_Change(ByVal Target As Range)

End Sub

Поместите туда же следующий код.

If Target.Address = "$A$1" Or Target.Address = "$A$2" Then
  If Range("B1").Formula = "=IF(A1>A2,""test1"",""test2"")" Then

        If Range("A1").Value > Range("A2").Value Then
            Range("B1").Font.Color = vbRed
        Else
            Range("B1").Font.Color = vbGreen
        End If

  End If
End If

В примере выше я использовал стандартные vbRed и vbGreen. Выбирайте по своему вкусу.

введите описание изображения здесь

Связанный контент