Здесь есть две части.
- У вас уже есть лист с формулой.
- Идем вперед все, что вы вводите в качестве формулы на том же листе.
Я предлагаю решение VBA следующим образом.
Нажмите ALT + F11 для доступа к редактору VBA. Вставьте модуль из меню вставки. Перейдите в окно кода и вставьте в него следующий код.
Sub ColorFormula()
Dim inrange As Variant
Dim incell As Range
On Error Resume Next
Set inrange = Application.InputBox(Prompt:="Please Select a Range", Type:=8)
If inrange.Rows.Count = 0 Then
MsgBox ("No Range Selected!")
End
End If
For Each incell In inrange
If incell.HasFormula = True Then
incell.Font.Color = -4165632
End If
Next
End Sub
Теперь на левой панели щелкните ThisWorkbook и выберите WorkBook SheetChange Event в окне кода. Заполнитель для подпрограммы с End Sub должен быть доступен для того, чтобы вы могли встроить в нее свой код.
Вставьте в него следующий код
If Target.HasFormula = True Then
Target.Font.Color = -4165632
End If
В этом примере выбран синий цвет, вы можете изменить его на любой другой доступный цвет.
Выйдите из редактора VBA. Теперь каждый раз, когда вы меняете ячейку на любом из листов этой книги, событие SheetChange будет срабатывать, и если это формула, оно изменится на синий шрифт.
Нажмите ALT + F8 и запустите макрос ColorForlmula и укажите диапазон ячеек. Код будет проходить через каждую ячейку в диапазоне и, если найдена уже существующая формула, он должен изменить шрифт на синий.