%20%D0%B2%20exel.png)
Приветствую сообщество,
Предположим, что в ячейке файла 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. Выбирайте по своему вкусу.