Условное форматирование ячеек, содержащих даты (Microsoft Excel)
Murali имеет большой рабочий лист, содержащий множество различных форматов. Он хотел бы использовать условное форматирование, чтобы выделить ячейки, содержащие даты. Однако он не знает, как правильно настроить условный формат.
Проблема в том, что в Excel нет функции листа, которая возвращает, содержит ли конкретная ячейка дату или нет. К счастью, VBA включает такую функцию IsDate. Это означает, что вы можете создать очень простую пользовательскую функцию, возвращающую True или False, в зависимости от того, содержит ли ячейка дату:
Function MyIsDate(rCell As Range) MyIsDate = IsDate(rCell) End Function
Затем вы можете ссылаться на эту функцию в правиле условного форматирования и настраивать форматирование на основе результатов. Помните, что эта функция возвращает True, если ячейка содержит любую дату; он не проверяет конкретные даты.
Если по какой-то причине вы не хотите использовать макрос, вы можете попробовать этот небольшой обходной путь: настройте правило условного форматирования, основанное на результатах формулы. Конкретная формула, которую вы должны использовать, выглядит следующим образом:
=LEFT(CELL("format",A1))="D"
Формула возвращает код формата, используемый для ячейки. (В данном случае это ячейка A1. Измените ее, чтобы отразить ячейку, которую вы фактически тестируете.)
Если первый символ кода формата — D, формула возвращает True. Excel использует различные коды форматов, которые начинаются с буквы D, когда вы форматируете ячейку как дату.
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (11817) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365.