В Excel есть два разных типа форматирования, которые можно применить к ячейке.

Первый — явное форматирование. Этот тип форматирования применяется с помощью панелей инструментов или с помощью параметра «Ячейки» в меню «Формат».

Второй тип форматирования — условное форматирование. Этот тип форматирования применяется на основе определенного вами набора правил.

Важно понимать, что эти два типа форматирования независимы и отличаются друг от друга. Например, если вы явно отформатируете ячейку как полужирный красный, она будет отображаться именно так. Если позже вы примените к нему условный формат, и этот формат приведет к тому, что ячейка станет зеленой, это именно то, что происходит — ячейка _ появляется_ зеленым, но по-прежнему имеет красный формат.

При чем здесь VBA? Если вы тестируете форматирование ячейки в VBA, то тестируемое форматирование — это явное форматирование.

В приведенном выше сценарии это означает, что тест всегда будет указывать, что ячейка выделена жирным красным шрифтом, и никогда не будет сообщать, что она зеленая, независимо от того, что условное форматирование делает с ячейкой. Это связано с тем, что условное форматирование влияет на отображение ячейки, а не на ее базовое (явное) форматирование.

Другим результатом всего этого является то, что если вы хотите узнать, какое условное форматирование отображается, вам может потребоваться воссоздать все ваши условные тесты в VBA. Это может довольно быстро стать довольно сложным. Для получения дополнительной информации по этой теме есть отличная страница, на которую вы можете обратиться. Посетите одну из страниц Чипа Пирсона здесь:

http://www.cpearson.com/excel/CFColors.htm

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (8490) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365. Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:

link: / excel-Checking_All_Cell_Formatting_in_VBA [Проверка всего форматирования ячеек в VBA].