Удалить стили в excel макрос
Загрузка файлов Excel в Интернете может быть сложной, когда дело доходит до ситуаций, когда в стиле форматирования присутствует много неожиданных стилей. Итак, вы хотите удалить стиль, но есть много стилей форматирования, которые нельзя удалить.
В следующей статье рассказывается о 3 способах удаления стиля в Excel, пожалуйста, следуйте инструкциям.
Метод 1: удалить стиль вручную
Этот метод применяется только к небольшому количеству стилей, которые нужно удалить, вам нужно сделать следующее:
В интерфейсе файла Excel, чтобы удалить стиль, выберите Главная -> Стили ячеек.
Появится стиль форматирования, вы хотите удалить любой стиль, щелкните его правой кнопкой мыши и выберите «Удалить».
Метод 2: удалить стиль с помощью кода VBA
С файлом Excel со многими стилями форматирования этот способ поможет вам автоматически удалить все стили в файле Excel, вы выполните следующие действия:
Шаг 1. В файле Excel, чтобы удалить упрямый стиль форматирования, выберите «Разработчик» -> «Visual Basic» или нажмите Alt + F11, чтобы открыть окно Microsoft Visual Basic для приложения.
Шаг 2: В этом окне выберите Вставить -> Модуль.
Шаг 3. Скопируйте приведенный ниже код и вставьте его в редактор кода, затем выключите окно.
Шаг 4: Выберите «Разработчик» -> «Макросы» или выберите «Обзор» -> «Макросы», чтобы открыть диалоговое окно «Макрос».
Шаг 5: Дважды щелкните StyleKill, чтобы запустить модуль удаления стиля форматирования.
Затем проверьте еще раз, выбрав «Главная» -> «Стили ячеек», и вы увидите, что стили были стерты.
Метод 3: удалить стиль, удалив файл Style.xml
Примечание. Если ваш компьютер не отображает формат файла, вы устанавливаете формат отображения. Если вы не знаете, как отображать, перейдите в проводник, выберите «Просмотр» -> «Параметры».
Появится диалоговое окно «Параметры папок», выберите вкладку «Просмотр», в дополнительных настройках снимите флажок перед строкой «Скрыть расширения для известных типов файлов» и нажмите «ОК».
Итак, вы открыли формат файла на компьютере, затем выполните следующие действия:
Шаг 1. Откройте файл Excel .xlsx (или .xls), а затем нажмите клавишу F12, чтобы открыть окно «Сохранить как», сохраните новый файл в формате .xlsm, как показано ниже.
Шаг 3: Дважды щелкните, чтобы открыть zip-файл, затем выберите папку xl.
Шаг 4: Откройте файл styles.xml в Блокноте.
Шаг 5. Здесь вы используете функцию поиска (Ctrl + F) и переходите к коду.
Шаг 6. Замените код следующим кодом, который вы сохраняете в файле styles.xml.
Шаг 7. Как только вы сохраните и закроете файл styles.xml, в папке winrar открываемого файла Excel появится измененный файл styles.xml, выберите «Да» и закройте файл .zip.
Шаг 8. Преобразуйте файл из формата .zip в .xlsm.
Excel файл может содержать не более 65535 стилей ячеек (доступны через меню ГЛАВНАЯ - Стили ячеек). Не совсем понятно как это достигается на практике (создание стиля довольно трудоемкая операция, если только генерировать их программно), но периодически приходится сталкиваться с файлами, которые вплотную подошли к данному пределу и при попытке отформатировать любую ячейку вы получаете следующую ошибку:
Более того, коль скоро у вас завелись такие файлы, то приходилось видеть, что при копировании какого-либо листа (или даже диапазона ячеек) из переполненного файла в новую книгу в неё перебиралась и эта огромная таблица стилей. Это даже отчасти напоминает вирусное заражение, хотя, конечно, им не является.
Данная проблема не решается через пользовательский интерфейс Excel - необходима специальная программа, которая очистит таблицу стилей принудительно.
Большое количество именованных диапазонов
Второй возможный недуг, с которым борется моя утилита, состоит в том, что книга Excel может содержать огромное количество именованных диапазонов. При этом, иногда, их даже невозможно удалить через Диспетчер имён (Ctrl+F3), так как они могут быть повреждены. Признаком наличия в файле большого количества именованных диапазонов является огромное количество вопросов, которые задаёт вам Excel при попытке скопировать лист книги в саму себя. Данная проблема также имеет свойство "заражать" файлы и сохраняться длительное время.
Утилита CureExcel
Алгоритм ваших действий:
Открыть файл CureExcel.xlsb
Открыть в Excel предположительно "больной" файл
В CureExcel нажать кнопку "Cure Excel" - откроется следующая форма
В выпадающем списке выбрать ваш ранее открытый файл
Нажать кнопку "Диагностика"
Ознакомиться с выводом программы и её рекомендацией
В случае наличия рекомендации по лечению, нажать кнопку "Лечить", подтвердить запуск операций
Дождаться окончания процедуры. Стили удаляются довольно долго (65 000 стилей удаляются примерно 5-7 минут). Прогресс виден по статусной строке Excel. По окончании процедуры выводится статистика проделанных операций и достигнутого результата.
Оригинальный файл остаётся неизменным, а исправленный файл с суффиксом "_CURE" сохраняется в той же папке, то есть операции совершенно безопасны.
Еще один, более редкий, случай – когда Excel показывает вам ошибку «Слишком много различных форматов ячеек».
Такая ошибка возникает, если в рабочей книге превышается предельно допустимое количество форматов, которое программа может сохранять:
- для Excel 2003 – это 4000 форматов (файл с расширением .xls)
- для Excel 2007 и новее – это 64000 (файл .xlsx)
Причем под форматом в данном случае понимается любая уникальная комбинация параметров:
- шрифт
- заливка
- границы ячеек
- числовой формат
- условное форматирование
Так, например, если вы оформили небольшой фрагмент листа подобным образом:
. то Excel запомнит в книге 9 разных форматов ячеек, а не 2, как кажется на первый взгляд. Ведь толстая линия по периметру создаст, фактически 8 различных вариантов. Тяга к красоте в большом отчете приведет к появлению сотен и тысяч подобных комбинаций, которые Excel будет вынужден запоминать. Размер файла от этого, само собой, увеличивается.
Что же делать? Если у вас файл старого образца, сохраните его с расширением .xlsx
Ну а если это не спасает, тогда придется удалять лишнее.
Изменение цвета, шрифта, границ, выравнивания и других форматов ячеек вручную было бы утомительным и трудоемким. К счастью, Microsoft Excel предоставляет несколько быстрых и простых способов очистить форматирование рабочего листа.
Функция очистки форматов.
Это удалит все форматирование ячеек (включая условное форматирование, числовые форматы, шрифты, цвета, границы и т. д.), но сохранит содержимое ячейки.
Советы по очистке формата.
С помощью этой функции вы можете легко приводить в исходное состояние не только одну ячейку, но всю строку, столбец или рабочий лист.
- Чтобы очистить форматирование от всех ячеек на листе, выберите весь лист, нажав Ctrl + A или, нажав треугольник в верхнем левом углу рабочего листа, а затем используйте кнопку Очистить форматы .
- Дабы удалить форматирование из всего столбца или строки, щелкните заголовок столбца или строки, чтобы выбрать их целиком.
- Если сделать эту операцию в несмежных ячейках или диапазонах, то выберите начальную точку, нажмите и удерживайте CTRL и затем выбирайте дальше другие ячейки или области.
Если вы хотите использовать этот инструмент буквально в один клик, вы можете добавить параметр «Очистить форматы» на панель инструментов быстрого доступа или на ленту Excel. Это может быть особенно полезно, если вы получаете много файлов от своих коллег или клиентов, и они нуждаются в том, чтобы представить данные так, как вы хотите.
Добавьте параметр «Очистить форматы» на панель быстрого доступа.
Если приходится часто выполнять подобные операции, то вы можете добавить иконку очистки на панель быстрого доступа в верхнем левом углу:
Для этого выполните следующие действия:
- На листе Excel щелкните Файл > Параметры, а затем выберите Панель быстрого доступа на левой панели.
- В разделе «Выбрать команды из» выберите «Все команды».
- Прокрутите список команд до пункта «Очистить форматы», выберите его и нажмите кнопку «Добавить», чтобы переместить его в правую часть.
- Щелкните ОК.
Как можно использовать «Формат по образцу».
Думаю, все знают, как использовать этот инструмент для копирования форматирования в Excel. Но задумывались ли вы, что его также можно использовать для удаления формата? Все, что требуется, – это 3 быстрых шага:
Примечание. «Очистка формата» и «Формат по образцу» не могут очистить форматирование, примененное только к какой-то части содержимого ячейки.
Например, если вы выделили только одно слово в ячейке цветом, как показано на скриншоте ниже, такое форматирование не будет удалено:
Мы рассмотрели основные способы, чтобы убрать форматирование в ячейках таблицы Excel.
Excel: слишком много различных форматов ячеек (Эксель)
При работе с программой Microsoft Excel, а именно с таблицами, можно столкнуться с этой ошибкой. Есть несколько способов для её устранения.
Первый вариант решения проблемы. Сохранение документа с использованием расширения Xslx
Второй вариант решения проблемы. Очистить форматы в пустых ячейках таблицы
Если первый способ не помог или же в более новом расширении также возникает ошибка, то это может значить что превышено 64 тыс. форматов. Вполне вероятно что пользователю нужен только формат .xls для работы.
Часто при работе с таблицами форматируется больше ячеек для удобства, но это лишь замедляет работу с документом, а также может быть причиной возникновения ошибки.
Область которая была форматирована про запас, выделяется с помощью нажатия мышкой на границе координаты строки и выделяем ее. После нажатия комбинации клавиш на клавиатуре Ctrl-Shift-клавиша вниз будет отмечена часть ниже таблицы
Слишком много различных форматов ячеек
Это может случиться и с вами.
Почему это происходит
Такая ошибка возникает, если в рабочей книге превышается предельно допустимое количество форматов, которое Excel может сохранять:
Причем под форматом в данном случае понимается любая уникальная комбинация параметров форматирования:
- шрифт
- заливки
- обрамление ячеек
- числовой формат
- условное форматирование
Так, например, если вы оформили небольшой фрагмент листа подобным образом:
. то Excel запомнит в книге 9 разных форматов ячеек, а не 2, как кажется на первый взгляд, т.к. толстая линия по периметру создаст, фактически 8 различных вариантов форматирования. Добавьте к этому дизайнерские танцы со шрифтами и заливками и тяга к красоте в большом отчете приведет к появлению сотен и тысяч подобных комбинаций, которые Excel будет вынужден запоминать. Размер файла от этого, само собой, тоже не уменьшается.
Подобная проблема также часто возникает при многократном копировании фрагментов из других файлов в вашу рабочую книгу (например при сборке листов макросом или вручную). Если не используется специальная вставка только значений, то в книгу вставляются и форматы копируемых диапазонов, что очень быстро приводит к превышению лимита.
Как с этим бороться
Направлений тут несколько:
Запустить его можно с помощью сочетания клавиш Alt+F8 или кнопкой Макросы (Macros) на вкладке Разработчик (Developer) . Макрос удалит все неиспользуемые стили, оставив только стандартный набор:
Оптимизировать книгу
Данная функция является частью надстройки MulTEx
Применить к листам:
галочками отмечаются те листы, на которых необходимо удалить определенные данные для оптимизации размера файла.
Если лист скрыт:
выбирается действие для скрытых листов
Во всех выбранных листах:
выбираются действия по очистке и оптимизации, которые необходимо применить ко всем выбранным листам
Удалять из книги
настройки, которые применяются ко всей книге в целом, т.к. не могут быть применены к конкретному листу
Примечание: применяя данную команду настоятельно рекомендуется сначала сделать резервную копию файла. Все действия вы производите на свой страх и риск, автор не несет никакой ответственности за потерю какой бы то ни было информации в файлах, произошедшей вследствие применения данной команды. Применяя команду Вы соглашаетесь с этими условиями.
Excel слишком много различных форматов ячеек
Слишком много различных форматов ячеек
Я прочитал некоторые из результатов поиска Google, и они говорят, что я должен упростить форматирование, но я даже не знаю, как я до 4000 различных форматов ячеек, не говоря уже о том, как много я использую, какие из них, так что я могу удалить некоторые.
Это не также появляются несколько раз файл запуска, но не все, до тех пор, пока она идет вверх, а затем это происходит каждый раз, когда он запускается. Поскольку макрос делает так много работы, в том числе создания 10 листов с нуля, я не знаю, что делать.
- макроскопический я мог бы работать, чтобы получить список всех форматов ячеек и сколько ячеек их использует?
- программы они доверяют, чтобы помочь удалить лишние форматы ячеек?
Проблема вы описываете заставила меня (и Коллега) потерять много часов производительности при использовании Excel 2010. Следующий кода VBA / макро помог мне бросить файл .xlsm с помощью 3540 стилей вплоть до 34 лет.
«Клеточные форматы» являются сложными. Клетки на самом деле не имеют «формат». У них есть шрифт (который сам по себе имеет имя и размер), NumberFormat, высота, ширина, ориентация и т.д.
Таким образом, вы должны определить, что вы имеете в виду под «формат».
Ниже код, чтобы получить имя и размер шрифта. Вы можете заменить любые атрибуты, которые вы хотите.
Приведенный ниже код предполагает, что вы создали рабочий лист с именем «Форматы» в книге. После запуска макроса, шрифт Название и размеры будут перечислены в этой таблице.
Многие люди, кажется, столкнулись с этой проблемой.
Чаще всего проблема связана с чрезмерным количеством неиспользуемых и часто искаженными стилей и не столько общее количество клеточного уникальными комбо формата ячейка.
Я написал утилиту для исправления файлов XL2007 OOXML , которые могут быть сохранены до XL2003. Вот ссылка на запись в блоге:
Нет необходимости идти на риск дальнейшего развращает файл с помощью Open Office, как это не предлагается на некоторых других форумах
Я имел эту проблему, нашел самый простой способ , чтобы очистить это было с помощью этого Excel добавить . Это , как представляется , «официальный» ответ от страницы Microsoft по этой проблеме .
Для людей, которые так запутался, я был в использовании .xlam файлов, после его загрузки вы делаете это в Excel:
-
Нажмите на Файл
Это удалит все стили КРОМЕ стилей по умолчанию (нормальный, толковый, 20% Accent1 и т.д.). В том числе стилей, созданных пользователем, но это быстрый и грязный способ очистить книгу:
Я хотел бы знать, что tempstyle.locked собственность на самом деле относится к другим, чем «логическое значение, которое указывает, если объект заблокирован».
Одним из решений может быть использование ASAP утилиты . В разделе листа есть remove all unused styles вариант. Затем вы должны закрыть книгу и открыть заново, я думаю.
Я видел эту проблему раньше. Можно воссоздать, чтобы доказать, что я Abaout сказать. Это немного поймать 22, но если у вас есть лист, который имеет проблему, «Слишком много форматов», открыть новый лист и скопировать одну ячейку из слишком большого количества форматов листа и просто вставить его в новую книгу. Эта книга будет теперь «Infected», как это было и будет также иметь слишком много форматов ошибок. Кажется, что много данных формата приходит с этой пастой, если вы используете пасту специальной, чтобы ограничить его.
Как сделать вещи лучше? Ну обходной путь заключается в использовании функции Сохранить как HTML. Медведь со мной , хотя это работает. Я говорю о 2003 здесь, я не знаю , что происходит в 2007 году, может быть , эта ошибка была исправлена. Так что . Сохранить как Html затем закройте первенствовать. Загрузите новую сессию и загрузить это в убедившись , что вы не запускать макросы , а затем после загрузки сохранения в виде таблицы.
Когда вы закрыть и снова открыть эту новую таблицу вашей Слишком много форматов Беды должна исчезнуть.
Вы можете скачать бесплатную пробную версию здесь , если вы хотите увидеть , помогает ли это. Просто загрузите книгу в «SpreadsheetGear 2009 для Windows» приложение , которое устанавливается вместе с программой оценки , а затем сохранить книгу.
Если у вас действительно есть что много уникальных форматов, вы должны упростить. Каждая уникальная комбинация цвета шрифта / клеток (внутренний), формат числа, горизонтального и вертикального выравнивание, границы, уровень отступа, и, вероятно, несколько вещей, которые я не думающие о вызовет уникальный элемент в таблице.
Другой вариант заключается в переходе на Excel 2007, который имеет ограничение на уникальных форматов ячеек увеличилось с 4000 до 64К.
Читайте также: