Профессиональные приемы работы в Microsoft Excel

Пожалуйста, войдите или зарегистрируйтесь.


Расширенный поиск  

Новости:

Читайте новые сообщения форума форума в RRS-агрегаторах

Автор Тема: Как сразу удалить все пользовательские стили ячеек в Excel 2007?  (Прочитано 18124 раз)

0 Пользователей и 1 Гость просматривают эту тему.

VadimM

  • Новичок
  • *
  • Уважение: +0/-0
  • Оффлайн Оффлайн
  • Сообщений: 4

Уважаемые знатоки!

Подскажите, как удалить сразу все пользовательские стили ячеек в Excel 2007? Проблема в том, что как только в книгу копируются листы из другой книги, сразу копируются и пользовательские стили (в моем случае это могут быть десятки стилей). Хотелось бы удалить все лишние сразу, а не по одному.

Спасибо!
Записан

boa

  • Глобальный модератор
  • Старожил
  • *****
  • Уважение: +32/-0
  • Оффлайн Оффлайн
  • Сообщений: 540
  • Доброта спасет мир...

В меню "Главная" есть "резинка со стрелкой" при раскрытии "стрелки" выберите " "очистить форматы"
выделенные ячейки буду очищены от пользовательского форматирования.

P.S.А еще в темах ранее обсуждалось как очистить вставляемые данные от форматов. Например здесь
Записан
Ничто не обходится нам так дешево и не ценится так дорого, как вежливость...  Мигель Сервантес де Сааведра

VadimM

  • Новичок
  • *
  • Уважение: +0/-0
  • Оффлайн Оффлайн
  • Сообщений: 4

Вопрос немного не в этом. Требуется не очистить ячейки от форматов, а удалить из меню форматов все пользовательские форматы, оставив остальные форматы в ячейках как есть. Они не используются, но висят там. У меня большая книга, и там очень много чего наформатировано, не хотелось бы это терять.
Записан

SergejS

  • Новичок
  • *
  • Уважение: +0/-0
  • Оффлайн Оффлайн
  • Сообщений: 1

Может быть решение в том, чтобы вставлять только данные, без форматов?
Записан

Андрій Гнєвишев

  • Новичок
  • *
  • Уважение: +0/-0
  • Оффлайн Оффлайн
  • Сообщений: 1

Может кому пригодится, ответ нашел здесь:
http://www.planetaexcel.ru/?PAGE_NAME=message&FID=8&TID=17396&MID=337014#message337014
"...
Решение:
1. Переименовать расширение xlsx в zip.
2. Открыть архиватором.
3. Удалить из папки xl файл styles.xml
4. Обратно переименовать zip в xlsx.
5. В открывшемся файле не будет никого форматирования стилями ячеек
..."
Записан

boa

  • Глобальный модератор
  • Старожил
  • *****
  • Уважение: +32/-0
  • Оффлайн Оффлайн
  • Сообщений: 540
  • Доброта спасет мир...

1. Переименовать расширение xlsx в zip
можно не заморачиваться с переименованием, а просто открыть файл архиватором через меню ПКМ "Открыть с помощью..."
« Последнее редактирование: 07.11.2017, 12:42:48 от vikttur »
Записан
Ничто не обходится нам так дешево и не ценится так дорого, как вежливость...  Мигель Сервантес де Сааведра

Димычч

  • Постоялец
  • ***
  • Уважение: +4/-0
  • Оффлайн Оффлайн
  • Сообщений: 134

Существует аналогичная проблема. Была обнаружена во время поиска причин медленной работы файлов. Но если просто хирургически удалять или заменять styles.xml, то полностью чистятся все форматы книги, и это не вариант. Задача в том, чтобы просто "выделить и удалить" ненужные стили, оставив только стандартные.
Для примера вкладываю 2 файла с одинаковым содержимым. В одном из них - болезнь в виде лишних стилей. Симптомы: увеличенный в 52 раза размер относительно второго файла и увеличенное в несколько раз время открытия файла.
Задача: удалить эту кучу стилей, сохранив форматирование таблички.

Рекомендую всем, у кого медленно открываются и сохраняются файлы, проверить на лишние стили (Главная-Стили-Стили ячеек).

Файл со стилями более 150Кб, поэтому выложил его на яндекс диск: https://yadi.sk/d/zppp6c-Oa4GNs
Записан

Димычч

  • Постоялец
  • ***
  • Уважение: +4/-0
  • Оффлайн Оффлайн
  • Сообщений: 134

Есть макрос, по замыслу, как раз удаляющий пользовательские форматы и сохраняющий стандартные. Но, почему-то он удаляет не все...
Sub Del_Styles()
Dim stl As Style
On Error Resume Next
For Each stl In ActiveWorkbook.Styles
If Not stl.BuiltIn Then stl.Delete
Next
End Sub
« Последнее редактирование: 26.11.2014, 22:33:26 от vikttur »
Записан

Димычч

  • Постоялец
  • ***
  • Уважение: +4/-0
  • Оффлайн Оффлайн
  • Сообщений: 134

Заметил особенность: те стили, которые не удаляет макрос, нельзя удалить и вручную и приментить к ячейкам. То есть явные "пустышки". Откуда у них такая мощная защита? Как их убить то раз и навсегда?
Записан

Димычч

  • Постоялец
  • ***
  • Уважение: +4/-0
  • Оффлайн Оффлайн
  • Сообщений: 134

Прошу прощения, что продолжаю долбить в одну и ту же лунку :)

Вопрос не по теме. Удален [МОДЕРАТОР]
« Последнее редактирование: 26.11.2014, 22:32:43 от vikttur »
Записан

vikttur

  • Глобальный модератор
  • Старожил
  • *****
  • Уважение: +49/-0
  • Оффлайн Оффлайн
  • Сообщений: 990

Тема об удалении. Давайте-ка в новую тему. Эту уже задолбали :)
Записан

Димычч

  • Постоялец
  • ***
  • Уважение: +4/-0
  • Оффлайн Оффлайн
  • Сообщений: 134

Судя по количеству просмотров данной темы, она довольно актуальна, а ведь ответ на первый вопрос так и не найден. Отвечающие упорно путают понятия "формат" и "стиль" :). Совет "удалить styles.xml" - не решение, так как он рушит форматы в книге. Макрос удаления стилей и его доработка - логичное продолжение данной темы.
Мне нужно создать новую тему "Макрос для удаления всех пользовательских стилей в документе"?
Записан

vikttur

  • Глобальный модератор
  • Старожил
  • *****
  • Уважение: +49/-0
  • Оффлайн Оффлайн
  • Сообщений: 990

Вопрос был, насколько я помню, не об удалении стилей.
Посетители будут пользоваться поиском, поэтому вопросы не по основной тематике в темах, где спрашивают о разном, не буду найдены
Записан

Кирилл Бойков

  • Новичок
  • *
  • Уважение: +0/-0
  • Оффлайн Оффлайн
  • Сообщений: 1

Нашел решение:
1. Создаем дубликат файла
2. в одном из excel файлов удаляем styles.xml
3. Открываем оба Excel файла
4. В книге с форматами выделяем отформатированные области
5. Вставляем в файл без форматов в соответствующие области как формат
6. Удаляем лишние стили (их будет не много, можно в ручную)
Записан

Дмитрий Гут

  • Новичок
  • *
  • Уважение: +0/-0
  • Оффлайн Оффлайн
  • Сообщений: 1

А тема то по сей день актуальная. Вот и я столкнулся с медленным открытием файлов из за раздувшегося списка стилей в файле. Вставлял страницы наших Kорейских коллег - вот и довставлялся. 1599 стилей.
Поди-ка вручную поудаляй.
Стилями не пользуюсь, но форматирование страниц специфическое, по этому не хотелось рисковать оформлением удаляя файл "styles.xml"
Вот только я не понял - почему никому не пришло в голову править данный файл?

(Сразу приношу извинения, у меня Excell 2010, но думаю разница с 2007 в данном контексте не особо существенная).


Мое решение:
Открываем файл в текстовом редакторе с возможностью поиска-замены (я пользовался Word-ом, он позволяет искать и вставлять спецсимволы, что удобно).
Файл представляет из себя простыню параметров без переносов строки, что не очень читаемо.
Во второй половине файла видим такие строки примерно:

</cellXfs>
<cellStyles count="1599">

а дальше идет указанное число параметров (1599) такого вида:

<cellStyle xfId="94" name="20% - 강조색3 22"/>
<cellStyle xfId="118" name="20% - 강조색3 9"/>
и т.д. (в текстовом редакторе переносов нет, всё в одну строку)

А заканчивается всё это великолепие строкой
</cellStyles>

Ну в моем случае все просто - мне предстояло вырезать те стили, названия которых были на корейском языке.
Чтобы было читабельно сделал автозамену:
"<cellStyle"   меняем на   "^p<cellStyle"
Эта замена вставляет перед каждым стилем перенос строки.
- Просматриваем , выделяем и удаляем ненужные стили.
- Считаем оставшиеся
- Вносим соответствующее количество в параметр <cellStyles count="     ">
(я оставил один, соответственно поставил единицу).

Сориентироваться на самом деле легко - в интерфейсе Excell во вкладке со стилями показаны имена стилей, можно выписать те, что нужны - их оставить, остальные - удалить.

После этого удаляем спецсимволы (опять же автозаменой "^p" заменить на ""), сохраняем.
Впрочем я спецсимволы не удалял - забыл, и всё равно заработало.
Собственно всё. Лишних стилей больше нет, заработало всё нормально, оформление не слетело.

ЗЫ:
Если есть грамотные специалисты - прошу пояснить назначение параметров вида
<xf numFmtId="0" fontId="111" fillId="32" borderId="0" applyNumberFormat="0" applyBorder="0" applyAlignment="0" applyProtection="0"><alignment vertical="center"/></xf>
из первой половины файла стилей.
Странно, что записи этого вида дублируются в огромном количестве друг за другом практически без изменений. Подозреваю, что они также как-то связаны с удаленными стилями, но их вырезать побоялся :)
« Последнее редактирование: 26.07.2018, 11:46:10 от Дмитрий Гут »
Записан

smith45

  • Новичок
  • *
  • Уважение: +0/-0
  • Оффлайн Оффлайн
  • Сообщений: 1

А тема то по сей день актуальная. Вот и я столкнулся с медленным открытием файлов из за раздувшегося списка стилей в файле. ...
Мне помог метод 2:
https://support.microsoft.com/ru-ru/help/3070372/how-to-clean-up-an-excel-workbook-so-that-it-uses-less-memory
Записан
 



Темы без ответов

30.09.2018 10:24 Расчет процентов за определенный период (месяц) с учетом изменений и платежей 394
03.03.2018 00:00 Подсчет отработанного времени, за исключением заранее определенных перерывов 1190
14.02.2018 10:11 Подготовить читабельную отчетность по платежам 1189
23.01.2018 13:46 Найти вероятность повторной покупки 1083
12.01.2018 23:56 Сделать отчет на Power BI (Dashboard) 1521
06.09.2017 10:43 Solver VBA не решает гиперболическое уравнение, но при этом решает гармоническое 1367
17.08.2017 12:15 Гиперссылка и фильтр одновременно макрос 1729
23.05.2017 11:20 Копирование данных из одной таблицы в умную таблицу по условию 3480
15.03.2017 15:45 автозамена картинок PowerPoint 1975
11.03.2017 13:43 Изменить нумерацию страниц 2102





Яндекс цитирования msexcel.ru Яндекс.Метрика

Страница сгенерирована за 0.148 секунд. Запросов: 131.