Excel не работает условное форматирование в excel

Признаки

Предположим, что у вас есть лист Excel 2010 с отключенным свойством Sheet.EnableFormatConditionsCalculation. При изменении ячейки, которая использует условное форматирование на листе, условное форматирование применяется к ячейке не сразу.

«Разрешение»

Чтобы устранить эту проблему, примените следующее исправление:

2597142 Описание пакета исправлений Excel 2010 (x86 Excel-x-none.msp, x64 Excel-x-none.msp): 28 февраля 2012 г.

Сведения о разделе реестра

Важно! В этом разделе, методе или задаче содержатся инструкции по изменению реестра. Однако при неправильном изменении реестра могут возникнуть серьезные проблемы. Поэтому убедитесь, что вы тщательно выполняете эти действия. Чтобы добавить защиту, создайте резервную копию реестра перед его изменением. Затем можно восстановить реестр в случае возникновения проблемы. Дополнительные сведения о том, как создать резервную копию и восстановить реестр, щелкните следующий номер статьи, чтобы просмотреть статью в базе знаний Майкрософт:

322756 Как создать резервную копию и восстановить реестр в Windows
После установки пакета исправлений выполните следующие действия, чтобы включить исправление:

  1. Нажмите кнопку Пуск, нажмите кнопку Выполнить, введите regedit в поле Открыть и нажмите кнопку ОК.

  2. Найдите и выберите следующий подраздел реестра:

    HKEY_CURRENT_USERSoftwareMicrosoftOffice14.0ExcelOptions

  3. В меню Правка наведите указатель мыши на пункт Создать, а затем выберите DWORD (32-разрядное) Значение.

  4. Введите IgnoreEnableFormatConditionsCalculationOnLoad и нажмите клавишу ВВОД.

  5. В области Сведения щелкните правой кнопкой мыши элемент IgnoreEnableFormatConditionsCalculationOnLoad и выберите команду Изменить.

  6. В поле Значение введите 1 и нажмите кнопку ОК.

  7. Закройте редактор реестра.

Состояние

Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».

Нужна дополнительная помощь?

@khurram703 it is always good to learn rather than copy-paste

here you go,

1) Copy column D and ‘Paste as Value’ to column J

2) in column J, select from from first number in column (which is 437) till down

3) Once selected, you will see a small green symbol on left side of the number, click on that

4) Click ‘Convert to Number’ (refer screenshot below)

5) Copy Column J and ‘Paste as Value’ to Column D

6) Delete column J

bhushan_z_0-1589280435339.png

Ад Условного Форматирования

Порядок необходим глупцам,
гений же властвует над хаосом.
(Альберт Эйнштейн)

Исходные данные

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

Чтобы проще было понять, в чём, собственно, дело — давайте рассмотрим простой пример. Предположим, что мы работаем вот с такой несложной таблицей, где фиксируются продажи:

Исходная таблица

Для наглядности к таблице добавлены три правила условного форматирования:

Правила условного форматирования

Первое правило делает синие гистограммы на столбце с суммами сделок. Создается через Главная — Условное форматирование — Гистограммы (Home — Conditional formatting — Data bars).

Второе — подсвечивает желтым ячейки с именами менеджеров, которые не выполнили план, т.е. сумма их сделки меньше, чем зелёная ячейка H2.

Третье — делает нижнюю границу всей строки красной, если день меняется на следующий, т.е. дата в текущей строке не равна дате в следующей.

Второе и третье правила создаются через Главная — Условное форматирование — Создать правило — Использовать формулу для определения форматируемых ячеек (Home — Conditional formatting — Create rule — Use formula to determine which cells to format) с вводом соответствующей формулы (2) и настройкой формата ячеек (3):

Создание правила условного форматирования с формулой

Пока что, надеюсь, всё просто и понятно. Таблица хранит данные, а условное форматирование наглядно подсвечивает негодяев-менеджеров, разделяет даты и визуализирует стоимость.

Путь к катастрофе

Предположим, что в процессе работы с таблицей нам потребовалось удалить любую строку из середины таблицы — ну, скажем, 10-ю. После выполнения безобидного удаления получим следующую картину:

После удаления строки из середины таблицы

Красная линия между 2 и 3-м марта почему-то исчезла, а наше правило условного форматирования для разделения дат развалилось на два, причем одно из них с ошибкой #ССЫЛКА (т.е. не работает), а другое применяется к двум несмежным диапазонам A2:E8 и A10:E29 (не ко всей таблице!).

Шикарно, правда?!

Теперь представим, что Кирилл Краснов повторил свою сделку в Тольятти с магазином «Лента» (строка 25) и вам нужно внести эти данные в таблицу.

Как вы поступите?

Скорее всего, как любой нормальный человек, вы скопируете 25-ю строчку и вставите её в конец таблицы, верно?

Копируем строчку в конец таблицы

Ага, и получите в наследство вот такой бардак в правилах условного форматирования:

Продублированные правила для добавленной строки

Excel зачем-то продублировал те же правила для добавленной строки вместо того, чтобы просто растянуть диапазон в поле Применяется к (Applied to).

Ну, и на десерт давайте попробуем ещё что-нибудь безобидное — например, вставить пустую строку в середину таблицы, между 4 и 5-й строчками:

Вставляем пустую строку

В списке правил условного форматирования это приведёт к появлению еще одного дубликата и раздроблению диапазона уже существующего 5-го правила на кучу фрагментов:

Еще больше проблем с условным форматированием

Продолжать можно долго, но, думаю, вы уже уловили идею или вспомнили, как сталкивались с этой бедой ранее (эта проблема существует в Excel ещё с 2007 года). Выполнение совершенно безобидных и естественных операций с таблицей (вставка и удаление строк, копирование, вырезание и перенос) приводят к:

  • появлению бесчисленных дубликатов одних и тех же правил
  • фрагментации диапазонов применения этих правил
  • появлению неработающих правил с ошибками #ССЫЛКА!

Поработав пару часов с таблицей, можно закончить в ситуации, когда в из двух-трех исходных правил подсветки у вас получаются десятки и даже сотни их клонов с раздробленными диапазонами.

На англоязычных Excel-форумах в интернете такую картину называют иногда «адом» или «кошмаром условного форматирования» («Conditional Formatting Nightmare» или «Conditional Formatting Hell»).

Причем весь этот быстро разрастающийся бардак очень скоро начнёт нещадно тормозить. Условное форматирование, само по себе, весьма ресурсоёмкая штука, т.к. Excel пересчитывает правила УФ гораздо чаще, чем те же формулы. А когда этих правил несколько десятков, то даже самый мощный ПК начнёт «тупить».

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

Как же всё исправить?

Способ 1. Вручную

Несмотря на кажущуюся запущенность, лечится весь этот адок достаточно легко. Идея в том, что правила УФ «ломаются», обычно, для строк ниже первой. Первая же строка, в большинстве случаев, остается в порядке. Поэтому, чтобы всё починить, нам нужно просто очистить все правила в таблице и заново распространить их с первой строки на все остальные.

Для этого делаем следующее:

  1. Выделяем в нашей таблице все строки кроме первой.
  2. Удаляем все правила условного форматирования с выделенных ячеек через Главная — Условное форматирование — Удалить правила — Удалить правила из выделенных ячеек (Home — Conditional formatting — Clear rules — Clear rules from selected cells).
  3. Выделяем первую строку, жмём кнопку-кисточку Формат по образцу на Главной (Home — Format Painter) и выделяем все остальные строки, копируя на них формат с первой.

Способ 2. Макросом

Если есть ощущение, что подобную процедуру вам придётся проделывать ещё не раз, то имеет смысл автоматизировать весь процесс с помощью макроса. Для этого:

  1. Жмём сочетание клавиш Alt+F11 или на вкладке Разработчик кнопку Visual Basic (Developer — Visual Basic).
  2. В открывшемся окне редактора макросов добавляем в нашу книгу новый модуль через меню Insert — Module.
  3. Вставляем в созданный пустой модуль наш макрос:
Sub Fix_СF_Hell()

    'создаем ссылки на диапазоны
    Set rngAll = Selection
    Set rngRow1 = Selection.Rows(1)
    Set rngRow2 = Selection.Rows(2)
    Set rngRowLast = Selection.Rows(rngAll.Rows.Count)

    'удаляем все правила форматирования со всех строк кроме первой
    Range(rngRow2, rngRowLast).FormatConditions.Delete
    
    'копируем форматы с первой строки на все остальные
    rngRow1.Copy
    Range(rngRow1, rngRowLast).PasteSpecial Paste:=xlPasteFormats
    Application.CutCopyMode = False
    
End Sub

Теперь можно будет просто выделить все строки в таблице (кроме шапки) и запустить макрос через Разрабочик — Макросы (Developer — Macros) или сочетанием клавиш Alt+F8.

И всё будет хорошо :)

P.S.

И не забудьте сохранить файл в формате с поддержкой макросов (xlsm).

Если нужно применять этот макрос в других файлах, то имеет смысл поместить его в Личную Книгу Макросов (Personal Macro Workbook).

Немного улучшенная версия этого макроса уже встроена в последнюю версию моей надстройки PLEX ;)

Исправление УФ-ада в надстройке PLEX

Ссылки по теме

  • Как работает условное форматирование в Excel
  • Подсветка наборов строк с помощью условного форматирования
  • Разделительная линия между наборами строк

Условное форматирование. Цвет не меняется автоматически

Sergnest

Дата: Среда, 21.10.2015, 10:06 |
Сообщение № 1

Группа: Пользователи

Ранг: Новичок

Сообщений: 11


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Здравствуйте.
Проблема такая. Цвет условно форматируемой ячейки не меняется автоматически, а только после того как сделать ее активной. То есть нужно «прощелкать» все ячейки, чтобы они поменяли/не поменяли цвет.
Спасибо
[moder]Покажите файл[/moder]

Сообщение отредактировал ManyashaСреда, 21.10.2015, 10:11

 

Ответить

китин

Дата: Среда, 21.10.2015, 10:12 |
Сообщение № 2

Группа: Модераторы

Ранг: Экселист

Сообщений: 6973


Репутация:

1063

±

Замечаний:
0% ±


Excel 2007;2010;2016

а пересчет формул автоматом у вас включен?


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852

 

Ответить

Sergnest

Дата: Среда, 21.10.2015, 10:16 |
Сообщение № 3

Группа: Пользователи

Ранг: Новичок

Сообщений: 11


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

если Вы про параметры Excel — Формулы — вычисления в книге — автоматически, то да

 

Ответить

китин

Дата: Среда, 21.10.2015, 10:29 |
Сообщение № 4

Группа: Модераторы

Ранг: Экселист

Сообщений: 6973


Репутация:

1063

±

Замечаний:
0% ±


Excel 2007;2010;2016

ну тогда,как сказал модератор файл в студию


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852

 

Ответить

Sergnest

Дата: Среда, 21.10.2015, 10:30 |
Сообщение № 5

Группа: Пользователи

Ранг: Новичок

Сообщений: 11


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Я приложил файл. Посмотрите, пожалуйста, на примере ячейки O12. Я ее сравниваю с ячейкой P12, которая, в свою очередь является суммой ячеек Q12+S12. Сейчас там сравниваются 88 и 87 — ячейка красная. Но если будет 88 и 88, то, чтобы ячейка стала белой, нужно по ней щелкнуть двойным щелчком. В обратном порядке то же самое

К сообщению приложен файл:

___-2.xlsx
(53.6 Kb)

 

Ответить

buchlotnik

Дата: Среда, 21.10.2015, 10:36 |
Сообщение № 6

Группа: Заблокированные

Ранг: Участник клуба

Сообщений: 3442


Репутация:

929

±

Замечаний:
20% ±


2010, 2013, 2016 RUS / ENG

странно, у меня работает

Сообщение отредактировал buchlotnikСреда, 21.10.2015, 10:37

 

Ответить

китин

Дата: Среда, 21.10.2015, 10:40 |
Сообщение № 7

Группа: Модераторы

Ранг: Экселист

Сообщений: 6973


Репутация:

1063

±

Замечаний:
0% ±


Excel 2007;2010;2016

и все таки я настаиваю:параметры Excel — Формулы — вычисления в книге — автоматически проверьте.У меня все работает.при отключении вычислений автоматически не работает


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852

 

Ответить

Sergnest

Дата: Среда, 21.10.2015, 10:40 |
Сообщение № 8

Группа: Пользователи

Ранг: Новичок

Сообщений: 11


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

странно, возможно мне что-то нужно настроить в параметрах Excel?

 

Ответить

Sergnest

Дата: Среда, 21.10.2015, 10:43 |
Сообщение № 9

Группа: Пользователи

Ранг: Новичок

Сообщений: 11


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

и все таки я настаиваю:параметры Excel — Формулы — вычисления в книге — автоматически проверьте

Проверил. У меня так и есть. Но цвет не меняет :(

 

Ответить

buchlotnik

Дата: Среда, 21.10.2015, 10:45 |
Сообщение № 10

Группа: Заблокированные

Ранг: Участник клуба

Сообщений: 3442


Репутация:

929

±

Замечаний:
20% ±


2010, 2013, 2016 RUS / ENG

Sergnest, верю — автоматические у вас стоят — тоже проверил — скажите, а если ткнуться в любую другу ячейку — цвет не меняется?

 

Ответить

Sergnest

Дата: Среда, 21.10.2015, 10:51 |
Сообщение № 11

Группа: Пользователи

Ранг: Новичок

Сообщений: 11


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Нет, цвет меняется если будет двойной щелчок непосредственно по ячейке, к которой применено условное форматирование

 

Ответить

Sergnest

Дата: Среда, 21.10.2015, 11:01 |
Сообщение № 12

Группа: Пользователи

Ранг: Новичок

Сообщений: 11


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Заметил еще большую странность. Если я создам еще один лист и на нем наберу все те же самые условия, то там все работает. То есть, как будто у основного листа (или непосредственно у тех ячеек, которые принимают участие в УФ) какой-то не тот формат или что-то в этом роде…

 

Ответить

SLAVICK

Дата: Среда, 21.10.2015, 11:03 |
Сообщение № 13

Группа: Модераторы

Ранг: Старожил

Сообщений: 2290


Репутация:

766

±

Замечаний:
0% ±


2019

А если нажать F9?
Попробуйте в приложенном файле нажать кнопку — должно заработать. :D

Или попробуйте поменять формулу УФ — см. 2-й файл

К сообщению приложен файл:

-2.xlsm
(55.9 Kb)
·

-3.xlsm
(55.0 Kb)


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICKСреда, 21.10.2015, 11:06

 

Ответить

Sergnest

Дата: Среда, 21.10.2015, 11:24 |
Сообщение № 14

Группа: Пользователи

Ранг: Новичок

Сообщений: 11


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Не совсем понял насчет F9. Ничего не происходит

В приложенных Вами файлах все работает, но нужно, чтобы работало без макросов

 

Ответить

SLAVICK

Дата: Среда, 21.10.2015, 11:28 |
Сообщение № 15

Группа: Модераторы

Ранг: Старожил

Сообщений: 2290


Репутация:

766

±

Замечаний:
0% ±


2019

Не совсем понял насчет F9.

F9 — принудительный пересчет. Т.е. что-то поменяли — потом нажали F9 — лист должен пересчитатся.

В приложенных Вами файлах все работает, но нужно, чтобы работало без макросов

А оно и работает без макросов — макрос единоразово включил все функции во всех книгах — потом его можно удалить :)


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICKСреда, 21.10.2015, 11:30

 

Ответить

Sergnest

Дата: Среда, 21.10.2015, 11:41 |
Сообщение № 16

Группа: Пользователи

Ранг: Новичок

Сообщений: 11


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

SLAVICK, hands ЗАРАБОТАЛО!!! Огромное спасибо, второй день бился с этим :)

 

Ответить

SLAVICK

Дата: Среда, 21.10.2015, 11:42 |
Сообщение № 17

Группа: Модераторы

Ранг: Старожил

Сообщений: 2290


Репутация:

766

±

Замечаний:
0% ±


2019

Нашел косяк — это в настройках листа было отключено автоматический пересчет УФ.
Странно но этот косяк «работает» только в 2010м :o
См книгу ;)

К сообщению приложен файл:

-2.xlsx
(63.4 Kb)


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICKСреда, 21.10.2015, 11:47

 

Ответить

Sergnest

Дата: Среда, 21.10.2015, 11:56 |
Сообщение № 18

Группа: Пользователи

Ранг: Новичок

Сообщений: 11


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

SLAVICK, извините, а где находятся настройки листа?

 

Ответить

SLAVICK

Дата: Среда, 21.10.2015, 12:01 |
Сообщение № 19

Группа: Модераторы

Ранг: Старожил

Сообщений: 2290


Репутация:

766

±

Замечаний:
0% ±


2019

На вкладке «Разработчик» — «Свойства» -(вкладку нужно включить в настройках ленты, если отключено)
Или:
Alt + f11 — далее, находите свою книгу и список листов и жмете f4(или в View — Properties window) B)


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICKСреда, 21.10.2015, 12:02

 

Ответить

Sergnest

Дата: Среда, 21.10.2015, 12:02 |
Сообщение № 20

Группа: Пользователи

Ранг: Новичок

Сообщений: 11


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Спасибо

Сообщение отредактировал SergnestСреда, 21.10.2015, 12:03

 

Ответить

Берем для рассмотрения число 29. В указанной таблице идут ссылки на разные ячейки.
Закономерность в том, что:
— если ячейка S10 ссылается на V4, а там у нас 29 в расчете получается, то форматирование срабатывает, 29 становится синим;
— если ячейка S10 ссылается на U2, и там 29 в расчете тоже получается, то форматирование НЕ срабатывает, 29 НЕ становится синим.
Формат ячеек одинаковый.
Что я делаю не так?
https://docs.google.com/spreadsheets/d/1lQiFjVl4dR…


  • Вопрос задан

    более двух лет назад

  • 659 просмотров

Понравилась статья? Поделить с друзьями:
  • Excel не работает специальная вставка в excel
  • Excel не работает сохранить как
  • Excel не работает сортировка чисел
  • Excel не работает скроллинг на листе
  • Excel не работает скроллинг мышкой