Можно ли условно отформатировать ячейку, если ячейка содержит формулу (чтобы предупредить себя и других пользователей при обновлении ячейки)?
6 ответов
Основываясь на ответе brettdj, потому что мне было трудно следить за связанной статьей:
- Создайте новое правило условного форматирования и выберите « Использовать формулу», чтобы определить ячейки для форматирования.
- Вставьте следующую формулу:
=ISFORMULA(INDIRECT("rc",FALSE))
- Если вы хотите, чтобы правило применялось ко всему рабочему листу,
$1:$1048576
в качестве диапазона, к которому нужно применить. В противном случае вы можете ввести любой диапазон.
Формула INDIRECT("rc",FALSE)
возвращает ссылку на текущую ячейку. Если я когда-либо использую это в листе, я создаю Определенное имя, называемое чем-то вроде ThisCell
и использую его в формуле, на случай, если когда-нибудь вернусь много лет спустя и подумаю: «Для чего, черт возьми, это?».
Вы можете использовать условное форматирование, чтобы сделать это, используя XLM и Range Names
У меня есть более длинная статья об использовании XLM с именами диапазонов и условным форматированием для автоматического форматирования электронных таблиц в соответствии с содержимым ячейки
- Определить имя диапазона IsFormula = GET.CELL(48, INDIRECT("rc", FALSE))
- Примените тестирование ячеек условного форматирования для формулы, т.е. = IsFormula с цветовой заливкой
Вы можете попробовать это:
VBA
Создайте пользовательскую функцию с помощью следующего кода:
Function IsFormula(ByVal Ref As Range) As Variant
If Ref.Cells.Count > 1 Then
IsFormula = CVErr(xlErrNA)
Else
IsFormula = Ref.HasFormula
End If
End Function
Пример:
Чтобы проверить, имеют ли какие-либо ячейки в столбце A какие-либо формулы:
- Выделите столбец A
- Перейдите к Условному форматированию > Новое правило > Используйте формулу, чтобы определить, какие ячейки форматировать
- Используйте фф. формула:
=IsFormula(A1)
Non-VBA
- Нажмите F5 или Ctrl + G
- Нажмите Специальный.
- Выберите Формулы и нажмите ОК. Это выделяет все ячейки на листе, который содержит формулы.
- Установите формат, который вы хотите использовать.
Или же
Перейдите к стилям ячеек (на вкладке «Главная») и выберите стиль, который вы хотите связать с ячейками, содержащими формулы. Чтобы изменить внешний вид, щелкните правой кнопкой мыши выбранный стиль и выберите « Изменить». Все ячейки данного стиля будут автоматически обновлены.
Существует очень простой способ сделать это, протестированный в Excel 2016.
Выделите свой диапазон, к которому вы хотите применить это, скажем, от A3:W20
. Зайдите в условное форматирование и выберите NEW RULE | USE A FORMULA TO DETERMINE WHICH CELLS TO FORMAT
.
Вставьте =isformula(A3)
и выберите формат, который вы хотите применить.
A3
, очевидно, является ссылкой на первую ячейку в вашем диапазоне, но это форматирование применяется ко всем. В результате в пределах вашего диапазона любая ячейка, которая является формулой, имеет условный формат.
Новые справочные сайты рекомендуют пользовательскую функцию:
Function IsFormula(cell) as boolean
IsFormula = cell.HasFormula
End Function
Затем используйте эту функцию как ваше условие
И на самом деле, Excel 2013 и более поздние версии имеют IsFormula
в качестве стандартной функции.
Вы также можете использовать условное форматирование:
- Выберите диапазон ячеек, к которым вы хотите применить ваше условное форматирование
- В начало -> Условное форматирование -> Новое правило: используйте формулу, чтобы определить ячейку для форматирования
- В значениях формата, когда эта формула верна, укажите :
=HasNoFormula
- Выберите нужный формат
Протестировано с использованием Excel 2010.