Этот код VBA должен работать. Он переходит в событие вашего листа.
Я просто установил его для столбца I, чтобы изменить цвета, но вы можете расширить его до J и K, если вам нужно.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
With Application
.EnableEvents = False
.ScreenUpdating = False
End With
If Target.Column = 6 Or Target.Column = 7 Then
Select Case Target.Column
Case Is = 6
If Target <> vbNullString And Target.Offset(, 1) <> vbNullString Then
With Target.Offset(, 2)
.Characters(Start:=1, Length:=5).Font.ColorIndex = 3
.Characters(Start:=6, Length:=3).Font.ColorIndex = 4
End With
Else: Target.Offset(, 2).Font.ColorIndex = 0
End If
Case Is = 7
If Target <> vbNullString And Target.Offset(, -1) <> vbNullString Then
With Target.Offset(, 1)
.Characters(Start:=1, Length:=5).Font.ColorIndex = 3
.Characters(Start:=6, Length:=3).Font.ColorIndex = 4
End With
Else: Target.Offset(, 1).Font.ColorIndex = 0
End If
End Select
End If
With Application
.EnableEvents = True
.ScreenUpdating = True
End With
End Sub
Вы можете добавить условное форматирование по следующим правилам: 'AND (F1 <> "", G1 <> "") формат' с красным, 'AND (F1 <> "", G1 = "") 'format with black –
Но как заковать красный и зеленый в той же ячейке. –
Что вы имеете в виду от красного до зеленого? Градиент цвета? –