Занадто багато різних форматів осередків

Це може статися і з вами.

Працюючи з великою книгою в Excel в один зовсім не прекрасний момент ви робите щось зовсім нешкідливе (додавання рядка або вставку великого фрагмента осередків, наприклад) і раптом отримуєте вікно з помилкою "Занадто багато різних форматів осередків":

Іноді ця проблема виникає в ще більш неприємному вигляді. Напередодні ввечері ви, як зазвичай, зберегли і закрили свій звіт в Excel, а сьогодні вранці не можете його відкрити - видається подібне ж повідомлення і пропозиція повного усунення форматування з файлу. Радості мало, погодьтеся? Давайте розберемо причини і способи виправлення цієї ситуації.

Чому це відбувається

Така помилка виникає, якщо в робочій книзі перевищується гранично допустима кількість форматів, яке Excel може зберігати:

Причому під форматом в даному випадку розуміється будь-яка унікальна комбінація параметрів форматування:

  • шрифт
  • заливки
  • обрамлення осередків
  • числовий формат
  • умовне форматування

Так, наприклад, якщо ви оформили невеликий фрагмент листа подібним чином:

Занадто багато різних форматів осередків

то Excel запам'ятає в книзі 9 різних форматів осередків, а не 2, як здається на перший погляд, тому що товста лінія по периметру створить, фактично 8 різних варіантів форматування. Додайте до цього дизайнерські танці зі шрифтами і заливаннями і тяга до краси у великому звіті призведе до появи сотень і тисяч подібних комбінацій, які Excel буде змушений запам'ятовувати. Розмір файлу від цього, само собою, теж не зменшується.

Подібна проблема також часто виникає при багаторазовому копіюванні фрагментів з інших файлів в вашу робочу книгу (наприклад при складанні листів макросом або вручну). Якщо не використовується спеціальна вставка тільки значень, то в книгу вставляються і формати копіюються діапазонів, що дуже швидко призводить до перевищення ліміту.

Як з цим боротися

Напрямків тут кілька:

  1. Якщо у вас файл старого формату (xls), то перезберегти його в новому (xlsx або xlsm). Це відразу підніме планку з 4000 до 64000 різних форматів.
  2. Видаліть зайве форматування осередків і зайві "красивості" за допомогою команди Головна - Очистити - Очистити формати (Home - Clear - Clear Formatting). Перевірте, чи немає на аркушах рядків або стовпців відформатованих цілком (тобто до кінця листа). Не забудьте про можливі приховані рядки і стовпці.
  3. Перевірте книгу на наявність прихованих і суперскритих листів - іноді на них і криються "шедеври".
  4. Видаліть непотрібне умовне форматування на вкладці Основне - Умовне форматування - Управління правилами - Показати правила форматування для всього листа (Home - Conditional Formatting - Show rules for this worksheet).
  5. Перевірте, чи не накопичилося у вас надмірна кількість непотрібних стилів після копіювання даних з інших книг. Якщо на вкладці Основне (Home) в списку Стилі (Styles) величезна кількість "сміття":

Занадто багато різних форматів осередків

то позбутися від нього можна за допомогою невеликого макросу. Натисніть Alt + F11 або кнопку Visual Basic на вкладці Розробник (Developer). вставте новий модуль через меню Insert - Module і скопіюйте туди код макросу:

Запустити його можна за допомогою комбінації клавіш Alt + F8 або кнопкою Макроси (Macros) на вкладці Розробник (Developer). Макрос видалить всі невикористовувані стилі, залишивши тільки стандартний набір:

Занадто багато різних форматів осередків

Посилання по темі