Download PC Repair Tool to quickly find & fix Windows errors automatically
Do you know that you can format text in multiple ways in a single cell in Microsoft Excel? In this guide, we show how you can add multiple formatting to your text in a single cell in Excel.
Formatting makes our text stand out. We can mark the important with the formatting options. Sadly, we think that we cannot format the text on Excel as we do on other text processors. We don’t even try to format the text as most of the Excel sheets don’t require much formatting. But, there might be special cases, where you have to do multiple text formatting in a single cell to highlight or underline or apply subscript or superscript. In this guide, we have solutions to apply different formatting options to text in Excel. Let’s see how we can do it.
To get started, open Microsoft Excel and type the text you need to apply multiple formatting in a cell and adjust the sizes of the cell to make the text visible well. To put the text in the cell and see the whole text there, select the cell and click on Wrap Text in the Home tab on the ribbon menu. Then,
- Select the text
- Click on the drop-down arrow in the Font section
- Adjust the Font, Style, and Size
- Check the button beside the Effect you need
- Click on OK to apply.
Let’s get into the details of the process.
After adjusting cell sizes and wrapping text in it, select the particular text in the cell, you want to apply different formatting effects. If you want to make it bold, or italic, or underline it, you can click on the dedicated buttons in the Home tab. If you want to apply Superscript, Subscript, or Strikethrough effects to the text, click on the drop-down arrow in the corner of the Font section in the Home tab.
It will open a Format Cells mini overlay window. You can adjust Font, Font Style, Size, and Color in the window and see the preview there. To apply effects or formatting to the selected text, check the button beside the effect you want to apply to the text. After applying the effects and making changes, click on OK for the changes to apply.
You can repeat this multiple times, selecting different text each time to apply multiple formatting to the text.
How do I put multiple items in one cell in Excel?
There is a simple way to add multiple items in one cell in Excel. You just have to press Alt + Enter after entering one item and add the second item, and repeat it until you add everything in the cell.
How do I use multiple font colors or fonts in one cell in Excel?
You can do this using the Font section in the Home tab of the ribbon menu. You have to select the particular text and use the dedicated button in the Font section to apply the effects.
Guru is a Communications graduate with hands-on experience with computers, cameras, and editing tools. A tech enthusiast and a movie buff who loves writing about computers, he dreams of living a life devoid of all tech and modern-day advancements in a forest.
Содержание
- Устранение ошибки
- Способ 1: сохранение файла с расширением XLSX
- Способ 2: очистка форматов в пустых строках
- Способ 3: удаление форматов внутри таблицы
- Способ 4: удаление условного форматирования
- Способ 5: удаление пользовательских стилей
- Способ 6: удаление пользовательских форматов
- Способ 7: удаление ненужных листов
- Вопросы и ответы
Одной из проблем, с которой встречаются пользователи при работе с таблицами в Microsoft Excel, является ошибка «Слишком много различных форматов ячеек». Особенно она распространена при работе с таблицами с расширением XLS. Давайте разберемся в сути этой проблемы и выясним, какими способами её можно устранить.
Читайте также: Как уменьшить размер файла в Экселе
Устранение ошибки
Чтобы понять, как устранить ошибку, нужно знать её суть. Дело в том, что файлы Эксель с расширением XLSX поддерживают одновременную работу с 64000 форматами в документе, а с расширением XLS – только 4000. При превышении указанных лимитов и возникает данная ошибка. Под форматом понимается комбинация различных элементов форматирования:
- Границы;
- Заливка;
- Шрифт;
- Гистограммы и т.д.
Поэтому в одной ячейке может одновременно быть несколько форматов. Если в документе применяется излишнее форматирование, то это как раз и может вызвать ошибку. Давайте теперь выясним, как устранить данную проблему.
Способ 1: сохранение файла с расширением XLSX
Как уже было сказано выше, документы с расширением XLS поддерживают одновременную работу только с 4000 единиц форматов. Этим и объясняется тот факт, что чаще всего данная ошибка встречается именно в них. Конвертирование книги в более современный документ XLSX, который поддерживает работу одновременно с 64000 элементами форматирования, позволит в 16 раз больше использовать эти элементы прежде, чем возникнет указанная выше ошибка.
- Переходим во вкладку «Файл».
- Далее в левом вертикальном меню кликаем по пункту «Сохранить как».
- Запускается окно сохранения файла. При желании его можно сохранить в другом месте, а не в том, где располагается документ-исходник, перейдя в иную директорию жесткого диска. Также в поле «Имя файла» можно при желании изменить его наименование. Но это не обязательные условия. Эти настройки можно оставить по умолчанию. Главной задачей является в поле «Тип файла» сменить значение «Книга Excel 97-2003» на «Книга Excel». В этих целях кликаем по данному полю и выбираем соответствующее наименование из открывшегося списка. После выполнения указанной процедуры жмем на кнопку «Сохранить».
Теперь документ будет сохранен с расширением XLSX, что позволит работать с большим в 16 раз количеством форматов одновременно, чем это было при работе с файлом с расширением XLS. В подавляющем большинстве случаев данный способ позволяет устранить изучаемую нами ошибку.
Способ 2: очистка форматов в пустых строках
Но все-таки бывают случаи, когда пользователь работает именно с расширением XLSX, но у него все равно возникает данная ошибка. Это связано с тем, что при работе с документом был превышен рубеж в 64000 форматов. Кроме того, по определенным причинам возможна ситуация, когда нужно сохранить файл именно с расширением XLS, а не XLSX, так как с первым, например, умеют работать большее количество сторонних программ. В этих случаях нужно искать другой выход из сложившейся ситуации.
Часто многие пользователи форматируют место под таблицу с запасом, чтобы в будущем не тратить время на данную процедуру в случае расширения таблицы. Но это абсолютно неверный подход. Из-за этого значительно увеличивается размер файла, замедляется работа с ним, к тому же, подобные действия могут привести к ошибке, которую мы обсуждаем в данной теме. Поэтому, от таких излишеств следует избавиться.
- Прежде всего, нам нужно выделить всю область под таблицей, начиная с первой строки, в которой нет данных. Для этого щелкаем левой кнопкой мыши по числовому наименованию этой строки на вертикальной панели координат. Производится выделение всей строки. Применяем нажатие комбинации кнопок Ctrl+Shift+стрелка вниз. Выделяется весь диапазон документа ниже таблицы.
- Затем перемещаемся во вкладку «Главная» и жмем на иконку на ленте «Очистить», которая располагается в блоке инструментов «Редактирование». Открывается список, в котором выбираем позицию «Очистить форматы».
- После этого действия выделенный диапазон будет очищен.
Аналогичным образом можно производить очистку в ячейках справа от таблицы.
- Клацаем по наименованию первого не заполненного данными столбца в панели координат. Происходит выделение его до самого низа. Затем производим набор комбинации кнопок Ctrl+Shift+стрелка вправо. При этом выделяется весь диапазон документа, расположенный справа от таблицы.
- Затем, как и в предыдущем случае, жмем по иконке «Очистить», а в выпадающем меню выбираем вариант «Очистить форматы».
- После этого будет произведена очистка во всех ячейках справа от таблицы.
Подобную процедуру при возникновении ошибки, о которой мы говорим в данном уроке, не лишним будет провести даже в том случае, если на первый взгляд кажется, что диапазоны ниже и правее таблицы вообще не отформатированы. Дело в том, что в них могут находиться «скрытые» форматы. Например, текста или чисел в ячейке может и не быть, но в ней установлен формат полужирного шрифта и т.д. Поэтому, не поленитесь, в случае возникновения ошибки, провести эту процедуру даже над внешне пустыми диапазонами. Также не нужно забывать про возможные скрытые столбцы и строки.
Способ 3: удаление форматов внутри таблицы
Если предыдущий вариант не помог решить проблему, то стоит обратить внимание на излишнее форматирование внутри самой таблицы. Некоторые пользователи делают форматирование в таблице даже там, где оно не несет никакой дополнительной информации. Они думают, что делают таблицу красивее, но на деле довольно часто со стороны подобное оформление выглядит довольно безвкусно. Ещё хуже, если указанные вещи приводят к торможению программы или к ошибке, которую мы описываем. В этом случае следует оставить в таблице только действительно значимое форматирование.
- В тех диапазонах, в которых форматирование можно убрать полностью, и это не повлияет на информативность таблицы, выполняем процедуру по тому же алгоритму, что был описан в предыдущем способе. Сначала выделяем диапазон в таблице, в котором следует произвести очистку. Если таблица очень большая, то данную процедуру будет удобнее делать, воспользовавшись комбинациями кнопок Ctrl+Shift+стрелка вправо (влево, вверх, вниз). Если вы при этом выделите ячейку внутри таблицы, то при помощи данных клавиш выделение будет производиться только внутри неё, а не до конца листа, как в предыдущем способе.
Жмем на уже знакомую нам кнопку «Очистить» во вкладке «Главная». В выпадающем списке выбираем вариант «Очистить форматы».
- Выделенный диапазон таблицы будет полностью очищен.
- Единственное, что нужно потом будет сделать – это установить границы в очищенном фрагменте, если они присутствуют в остальном табличном массиве.
Но для некоторых областей таблицы подобный вариант не подойдет. Например, в определенном диапазоне можно удалить заливку, но при этом следует оставить формат даты, иначе данные будут отображаться некорректно, границы и некоторые другие элементы. Тот же вариант действий, о котором мы говорили выше, полностью убирает форматирование.
Но существует выход и в этом случае, правда, он более трудоёмкий. В подобных обстоятельствах пользователю придется выделять каждый блок однородно отформатированных ячеек и вручную убирать тот формат, без, которого можно обойтись.
Конечно, это долгое и кропотливое занятие, если таблица слишком большая. Поэтому лучше сразу при составлении документа не злоупотреблять «красивостями», чтобы потом не возникло проблем, на решение которых придется тратить много времени.
Способ 4: удаление условного форматирования
Условное форматирование – очень удобный инструмент визуализации данных, но избыточное его применение тоже может вызвать изучаемую нами ошибку. Поэтому нужно просмотреть список правил условного форматирования, применяемый на данном листе, и удалить из него позиции, без которых можно обойтись.
- Располагаясь во вкладке «Главная», клацаем по кнопке «Условное форматирование», которая находится в блоке «Стили». В меню, которое откроется после данного действия, выбираем пункт «Управление правилами».
- Вслед за этим запускается окошко управления правилами, в котором располагается список элементов условного форматирования.
- По умолчанию в списке расположены только элементы выделенного фрагмента. Для того, чтобы отобразить все правила на листе, переставляем переключатель в поле «Показать правила форматирования для» в позицию «Этот лист». После этого будут отображены все правила текущего листа.
- Затем выделяем правило, без которого можно обойтись, и жмем на кнопку «Удалить правило».
- Таким способом удаляем те правила, которые не играют важной роли в визуальном восприятии данных. После того, как процедура завершена, жмем на кнопку «OK» внизу окошка Диспетчера правил.
Если нужно полностью удалить условное форматирование из конкретного диапазона, то сделать это ещё проще.
- Выделяем диапазон ячеек, в котором планируем произвести удаление.
- Щелкаем по кнопке «Условное форматирование» в блоке «Стили» во вкладке «Главная». В появившемся списке выбираем вариант «Удалить правила». Далее открывается ещё один список. В нем выбираем пункт «Удалить правила из выделенных ячеек».
- После этого все правила в выделенном диапазоне будут удалены.
Если вы хотите полностью удалить условное форматирование, то в последнем списке меню нужно выбрать вариант «Удалить правила со всего листа».
Способ 5: удаление пользовательских стилей
Кроме того, данная проблема может возникать из-за использования большого количества пользовательских стилей. Причем они могут появиться, как результат импорта или копирования из других книг.
- Устраняется данная проблема следующим образом. Переходим во вкладку «Главная». На ленте в блоке инструментов «Стили» щелкаем по группе «Стили ячеек».
- Открывается меню стилей. Тут представлены различные стили оформления ячеек, то есть, по сути, зафиксированные сочетания нескольких форматов. В самом верху списка расположен блок «Пользовательские». Как раз данные стили не являются изначально встроенными в Excel, а являются продуктом действий пользователя. При возникновении ошибки, устранение которой мы изучаем, рекомендуется их удалить.
- Проблема заключается в том, что не существует встроенного инструмента массового удаления стилей, поэтому придется каждый из них удалять отдельно. Наводим курсор на конкретный стиль из группы «Пользовательские». Кликаем по нему правой кнопкой мыши и в контекстном меню выбираем вариант «Удалить…».
- Удаляем таким способом каждый стиль из блока «Пользовательские», пока не останутся только встроенные стили Excel.
Способ 6: удаление пользовательских форматов
Очень похожей процедурой на удаление стилей является удаление пользовательских форматов. То есть, мы будем удалять те элементы, которые не являются встроенными по умолчанию в Excel, а внедрены пользователем, либо были встроены в документ другим способом.
- Прежде всего, нам нужно будет открыть окно форматирования. Самый распространенный способ это сделать – кликнуть правой кнопкой мыши по любому месту в документе и из контекстного меню выбрать вариант «Формат ячеек…».
Также можно, находясь во вкладке «Главная», кликнуть по кнопке «Формат» в блоке «Ячейки» на ленте. В запустившемся меню выбираем пункт «Формат ячеек…».
Ещё один вариант вызова нужного нам окна – это набор сочетания клавиш Ctrl+1 на клавиатуре.
- После выполнения любого из действий, которые были описаны выше, запустится окно форматирования. Переходим во вкладку «Число». В блоке параметров «Числовые форматы» производим установку переключателя в позицию «(все форматы)». В правой части данного окна располагается поле, в котором находится перечень всех типов элементов, используемых в данном документе.
Выделяем курсором каждый из них. Переходить к следующему наименованию удобнее всего при помощи клавиши «Вниз» на клавиатуре в блоке навигации. Если элемент является встроенным, то кнопка «Удалить» под перечнем будет неактивной.
- Как только будет выделен добавленный пользовательский элемент, кнопка «Удалить» станет активной. Жмем на неё. Таким же образом удаляем все наименования пользовательского форматирования в перечне.
- После завершения процедуры обязательно жмем на кнопку «OK» внизу окна.
Способ 7: удаление ненужных листов
Мы описывали действия по решению проблемы только в пределах одного листа. Но не стоит забывать, что точно такие же манипуляции нужно проделать и со всеми остальными заполненными данными листами книги.
Кроме того, ненужные листы или листы, где информация дублируется, лучше вообще удалить. Делается это довольно просто.
- Кликаем правой кнопкой мыши по ярлыку листа, который следует убрать, расположенному над строкой состояния. Далее в появившемся меню выбираем пункт «Удалить…».
- После этого открывается диалоговое окно, которое требует подтверждение удаления ярлыка. Кликаем в нем по кнопке «Удалить».
- Вслед за этим выбранный ярлык будет удален из документа, а, следовательно, и все элементы форматирования на нем.
Если нужно удалить несколько последовательно расположенных ярлыков, то кликаем по первому из них левой кнопкой мыши, а затем кликаем по последнему, но только при этом зажав клавишу Shift. Будут выделены все ярлыки, расположенные между данными элементами. Далее процедуру удаления проводим по тому же алгоритму, который был описан выше.
Но существуют также скрытые листы, и как раз на них может находиться довольно большое количество различных отформатированных элементов. Чтобы убрать чрезмерное форматирование на этих листах или вообще удалить их, нужно сразу отобразить ярлыки.
- Кликаем по любому ярлыку и в контекстном меню выбираем пункт «Показать».
- Открывается список скрытых листов. Выбираем наименование скрытого листа и кликаем по кнопке «OK». После этого он будет отображен на панели.
Такую операцию проделываем со всеми скрытыми листами. Потом смотрим, что с ними делать: полностью удалять или очищать от избыточного форматирования, если информация на них важна.
Но кроме этого существуют ещё и так называемые суперскрытые листы, которых в списке обычных скрытых листов вы не отыщите. Их можно увидеть и отобразить на панели только через редактор VBA.
- Чтобы запустить редактор VBA (редактор макросов), жмем сочетание горячих клавиш Alt+F11. В блоке «Project» выделяем наименование листа. Тут отображаются, как обычные видимые листы, так скрытые и суперскрытые. В нижней области «Properties» смотрим значением параметра «Visible». Если там установлено значение «2-xlSheetVeryHidden», то это и есть суперскрытый лист.
- Кликаем по данному параметру и в открывшемся списке выбираем наименование «-1-xlSheetVisible». Затем щелкаем по стандартной кнопке закрытия окна.
После данного действия выбранный лист перестанет быть суперскрытым и его ярлык отобразится на панели. Далее с ним можно будет проводить либо процедуру очистки, либо удаления.
Урок: Что делать, если пропали листы в Экселе
Как видим, самый быстрый и эффективный способ избавится от исследуемой в данном уроке ошибки — это сохранить файл заново с расширением XLSX. Но если этот вариант не сработает или по каким-то причинам не подойдет, то остальные способы решения проблемы потребуют немало времени и усилий от пользователя. К тому же, их всех придется применять в комплексе. Поэтому лучше в процессе создания документа не злоупотреблять избыточным форматированием, чтобы потом не пришлось тратить силы на устранение ошибки.
Группа: Пользователи Ранг: Новичок Сообщений: 49
Замечаний: |
Всем привет!
В файле в ячейке C10 результат объединения данных из нескольких ячеек. Сейчас результат выглядит так:
122 (WoW 0,232323232323232) CPA — 1645,90163934426 руб. (WoW -0,0896968586866929)
а нужно так:
122 (WoW 23,23%) CPA — 1645,90 руб. (WoW -8,97%)
т.е. нужно чтобы числа были с определенным количеством знаков после запятой, а доли указывались как проценты.
Подскажите, как это сделать удобно, чтобы не делать каждый раз руками?
Спасибо.
Excel: слишком много различных форматов ячеек (Эксель)
При работе с программой Microsoft Excel, а именно с таблицами, можно столкнуться с этой ошибкой. Есть несколько способов для её устранения.
Более новое расширение Xlsx поддерживает 64 тыс. форматов, а Xls не более 4000. Если лимит форматов был превышен — появляется ошибка. Она является следствием использования многих элементов форматирования в ячейках (например заливка или шрифт).
Первый вариант решения проблемы. Сохранение документа с использованием расширения Xslx
Использование этого варианта подойдет если файл был сохранён с расширением Xls. Для начала откроем раздел «Файл» и в списке выберем пункт «Сохранить как».
Далее нужно выбрать папку куда будет сохранён файл. В специальном поле «Тип файла» после нажатия на него, выбираем среди элементов списка
«Книга Excel» и сохраняем файл.
После этой процедуры можно будет работать с 64 тыс. форматами. Соответственно — проблема решена.
Второй вариант решения проблемы. Очистить форматы в пустых ячейках таблицы
Если первый способ не помог или же в более новом расширении также возникает ошибка, то это может значить что превышено 64 тыс. форматов. Вполне вероятно что пользователю нужен только формат .xls для работы.
Часто при работе с таблицами форматируется больше ячеек для удобства, но это лишь замедляет работу с документом, а также может быть причиной возникновения ошибки.
Область которая была форматирована про запас, выделяется с помощью нажатия мышкой на границе координаты строки и выделяем ее. После нажатия комбинации клавиш на клавиатуре Ctrl-Shift-клавиша вниз будет отмечена часть ниже таблицы
Слишком много различных форматов ячеек
Это может случиться и с вами.
Работая с большой книгой в Excel в один совсем не прекрасный момент вы делаете что-то совершенно безобидное (добавление строки или вставку большого фрагмента ячеек, например) и вдруг получаете окно с ошибкой «Слишком много различных форматов ячеек»:
Иногда эта проблема возникает в еще более неприятном виде. Накануне вечером вы, как обычно, сохранили и закрыли свой отчет в Excel, а сегодня утром не можете его открыть — выдается подобное же сообщение и предложение удалить все форматирование из файла. Радости мало, согласитесь? Давайте разберем причины и способы исправления этой ситуации.
Почему это происходит
Такая ошибка возникает, если в рабочей книге превышается предельно допустимое количество форматов, которое Excel может сохранять:
- для Excel 2003 и старше — это 4000 форматов
- для Excel 2007 и новее — это 64000 форматов
Причем под форматом в данном случае понимается любая уникальная комбинация параметров форматирования:
- шрифт
- заливки
- обрамление ячеек
- числовой формат
- условное форматирование
Так, например, если вы оформили небольшой фрагмент листа подобным образом:
. то Excel запомнит в книге 9 разных форматов ячеек, а не 2, как кажется на первый взгляд, т.к. толстая линия по периметру создаст, фактически 8 различных вариантов форматирования. Добавьте к этому дизайнерские танцы со шрифтами и заливками и тяга к красоте в большом отчете приведет к появлению сотен и тысяч подобных комбинаций, которые Excel будет вынужден запоминать. Размер файла от этого, само собой, тоже не уменьшается.
Подобная проблема также часто возникает при многократном копировании фрагментов из других файлов в вашу рабочую книгу (например при сборке листов макросом или вручную). Если не используется специальная вставка только значений, то в книгу вставляются и форматы копируемых диапазонов, что очень быстро приводит к превышению лимита.
Как с этим бороться
Направлений тут несколько:
- Если у вас файл старого формата (xls), то пересохраните его в новом (xlsx или xlsm). Это сразу поднимет планку с 4000 до 64000 различных форматов.
- Удалите избыточное форматирование ячеек и лишние «красивости» с помощью команды Главная — Очистить — Очистить форматы (Home — Clear — Clear Formatting) . Проверьте, нет ли на листах строк или столбцов отформатированных целиком (т.е. до конца листа). Не забудьте про возможные скрытые строки и столбцы.
- Проверьте книгу на наличие скрытых и суперскрытых листов — иногда на них и кроются «шедевры».
- Удалите ненужное условное форматирование на вкладке Главная — Условное форматирование — Управление правилами — Показать правила форматирования для всего листа (Home — Conditional Formatting — Show rules for this worksheet) .
- Проверьте, не накопилось ли у вас избыточное количество ненужных стилей после копирования данных из других книг. Если на вкладке Главная (Home) в списке Стили (Styles) огромное количество «мусора»:
. то избавиться от него можно с помощью небольшого макроса. Нажмите Alt+F11 или кнопку Visual Basic на вкладке Разработчик (Developer) , вставьте новый модуль через меню Insert — Module и скопируйте туда код макроса:
Запустить его можно с помощью сочетания клавиш Alt+F8 или кнопкой Макросы (Macros) на вкладке Разработчик (Developer) . Макрос удалит все неиспользуемые стили, оставив только стандартный набор:
Оптимизировать книгу
Данная функция является частью надстройки MulTEx
- Описание, установка, удаление и обновление
- Полный список команд и функций MulTEx
- Часто задаваемые вопросы по MulTEx
- Скачать MulTEx
Вызов команды:
MulTEx -группа Ячейки/Диапазоны —Диапазоны —Подготовить таблицу — строки
Иногда в результате многочисленных манипуляций с книгой Excel она «раздувается» — в ней может быть всего один лист, данных не более 1000 строк и пары столбцов, но размер файла при этом мегабайта полтора, два, три, а то и все десять. Но главная проблема даже не столько в размере файла как в том, что при этом файл как правило «тормозит» и долго открывается. А это уже действительно проблема. Почему файл «раздувается»? В большинстве случаев это происходит по «неопытности»(чрезмерное форматирование, много объектов, имен и т.п.). Чтобы найти причину внезапного увеличения файла в размере можно потратить не один час, а то и день. И для этого надо не только знать где искать, но и уметь правильно устранить причину. Команда Оптимизировать книгу сама удалит все лишнее правильно и без ущерба функционалу.
Так же эта команда поможет устранить ошибку избыточных форматов, шрифтов и стилей в книге, когда при этом появляется сообщение «Слишком много различных форматов ячеек«:
Применить к листам:
галочками отмечаются те листы, на которых необходимо удалить определенные данные для оптимизации размера файла.
Если лист скрыт:
выбирается действие для скрытых листов
- обработать — в этом случае скрытые листы будут обрабатываться как обычные
- пропустить — скрытые листы не будут обрабатываться никоим образом, они будут просто проигнорированы
- удалить — в этом случае все скрытые листы в активной книге будут удалены. Следует очень аккуратно применять данную опцию, т.к. отменить удаление листов невозможно. И если на листах есть информация, которая используется в файле(например, значения для именованных диапазонов), то некоторый функционал (например формулы, именованные диапазоны, диаграммы, сводные таблицы и т.п.) просто перестанет работать после неосмотрительного удаления таких листов.
Если лист защищен:
выбирается действие, применяемое к листам, на которые установлена защита (Рецензирование —Защитить лист)
- ввести пароль — в данном случае необходимо указать пароль для снятия защиты с листов. Если пароль неверный, то возможно возникновение ошибки при очистке данных файла и оптимизация может быть проведена неверно. Если листы защищены без пароля, то следует указать данный пункт, а поле для ввода пароля оставить пустым.
- пропустить — в данном случае листы с установленной защитой будут игнорироваться и данные этих листов не будут оптимизироваться
- ручной режим — в данном случае при обнаружении защищенного листа надстройка предложит удалить данные этого листа без снятия защиты. Но в данном случае данные могут быть удалены некорректно или не полностью, а так же может возникнуть ошибка выполнения программы.
- попытаться снять защиту без пароля — в данном случае при обнаружении защищенного листа надстройка без всяких уведомлений попытается снять защиту с листа и после этого собрать данные. Если снять защиту не получится, то лист будет пропущен.
Во всех выбранных листах:
выбираются действия по очистке и оптимизации, которые необходимо применить ко всем выбранным листам
- Удалять объекты с нулевыми размерами — опция удалит с листа все объекты с нулевой длиной и шириной. Что это как такое может быть: довольно часто на лист вставляют различные объекты(картинки, фигуры, стрелки и т.п.), забывая выставить правильные свойства. В результате, после удаления строк и столбцов из листа зачастую объекты не удаляются — они просто ужимаются так, что ширина и высота таких объектов становится равна нулю, а сами объекты как следствие становятся невидимыми. Найти вручную такие объекты на листе сложно и тем более — удалить, не трогая остальные объекты. А на размер файла и на работу в листах большое количество таких объектов влияет очень сильно. Как правило такие объекты совершенно не нужны в дальнейшей работе и этот пункт можно почти всегда оставлять включенным.
- Удалять скрытые объекты — если отметить, то с листов будут удалены все невидимые(скрытые) объекты. Это такие объекты как рисунки, фигуры, диаграммы и пр., которые скрываются кем-то преднамеренно(как правило программно). Скрытые объекты и объекты с нулевыми размерами — это разные вещи. Если объекты с нулевыми размерами в подавляющем большинстве случаев не нужны, то скрытые объекты часто используются. Поэтому прежде чем применить данную опцию следует убедиться, что такие объекты действительно не нужны.
- Отключить сохранение шрифтов в диаграммах — при создании диаграмм в них часто применяются различные шрифты. Для обеспечения корректной визуализации текста у шрифтов диаграмм есть параметр Автомасштабирование и по умолчанию для новых диаграмм он включен, вследствие чего для одной диаграммы может быть сохранено два и более шрифтов для корректного отображения при различном масштабе. В какой-то момент книга будет переполнена шрифтами и при добавлении новой диаграммы может появится сообщение «В данной книге невозможно использование других шрифтов». При этом необязательно это должно быть изменение шрифта на диаграмме — ошибка может возникнуть и при копировании диаграмм, добавлении и при изменении колонтитулов и даже ячеек. Стандартными средствами для устранения подобной ошибки необходимо либо править реестр, либо вручную выключать автомасштабирование для каждой диаграммы. Но проще просто применить пункт Отключить сохранение шрифтов в диаграммах из команды Оптимизировать книгу.
- Удалять строки и столбцы за пределами рабочего диапазона — очень важный пункт. Он удаляет все форматирование из ячеек, расположенных за пределами реальных данных листа. Часто при назначении форматирования данным таблицы(заливка ячеек, шрифт, границы и т.п.) выделяются целые строки и столбцы и им назначается форматирование. В этом случае форматы начинают копиться, для каждой ячейки начинает храниться свое форматирование из всевозможных комбинаций свойств и значений. Так же это может повлечь неудобную навигацию по листу посредством полос прокрутки.
Опция Удалять строки и столбцы за пределами рабочего диапазона как раз удаляет все столбцы и строки, в которых есть какое-либо форматирование, но в которых уже нет никаких данных(формул или текстовых/числовых значений). Это может значительно «облегчить» файл и работу с листами, а так же поможет избавиться от ошибки «Слишком много различных форматов ячеек». - Удалять имена с ошибками #ССЫЛКА! — в файле могут скопиться имена(Ctrl + F3), которые ссылаются на несуществующие данные. Такие имена уже никогда не будут работать без серьезных правок и как правило не нужны. Однако наличие большого количества таких имен может так же «тормозить» работу с данными и придавать дополнительный объем размеру файла. Данная опция удалить все такие имена, если область действия для этих имен ограничивается исключительно очищаемым листом.
- Заменять формулы значениями — данная опция заменяет все формулы на листе на непосредственно результат вычислений этих формул. Для чего это нужно? Некоторые формулы могут значительно замедлять работу внутри файла. Так же, если на листе много ссылок на другие книги( =[Пример.xlsx]Лист1!$J$10 , или еще хуже — если эта книга закрыта: =’C:UsersДмитрийDesktop[Пример.xlsx]Лист1′!$J$10 ) файл помимо того, что значительно прибавляет в весе еще и постоянно запрашивает обновление связей. Данную опцию следует применять осторожно, т.к. она не отбирает какие-то конкретные типы формул — она заменяет формулы значениями полностью на всем листе. А далеко не всегда необходимо избавляться от всех формул на листах.
- Удалять исходные данные сводных таблиц — по умолчанию при создании сводной таблицы она хранит внутри себя все исходные данные, на основании которых построена. Это позволяет производить изменения внутри сводной таблицы быстрее, но вместе с тем опять же прибавляет файлу дополнительный размер. Поэтому, если исходные данные для сводной таблицы расположены в том же файле, но на другом листе или доступны иным способом — можно смело применять эту опцию.
- Удалить примечания — команда удаляет примечания к ячейкам(Рецензирование -Создать примечание). Может пригодится, если в файле создано много примечаний, которые более не используются. Особенно актуально, если примечания содержат еще и картинки в качестве фона — такие примечания способны значительно увеличить размер файла.
- со всего листа — будут удалены все примечания на листе
- из диапазона — будут удалены только примечания, расположенные исключительно в указанном диапазоне ячеек
Удалять из книги
настройки, которые применяются ко всей книге в целом, т.к. не могут быть применены к конкретному листу
- Лишние стили (оставив стандартный набор) — опция удаляет из книги избыточные стили, оставляя лишь встроенные по умолчанию. Лишние стили могут появиться либо при копировании ячеек полностью из одной книги в другую(актуально при использовании инструментов вроде Сбор данных с листов/книг) или при создании стилей вручную. Как правило стили используются редко, а проблем прибавить могут. Если в книге накопится достаточное количество разнообразных стилей, то можно получить ошибку файла «Слишком много стилей». Посмотреть стили книги можно с вкладки Главная —Стили ячеек:
- Удалять имена с ошибками #ССЫЛКА! — аналогичная такой же функции для листов, но данная опция удалить все такие имена, если область действия для этих имен не ограничивается каким-то конкретным листом, а распространяет свое действие на всю книгу, т.е. действует на любом листе.
После обработки команда выдаст информационное сообщение, в котором будет указан размер файла до очистки, размер файла после очистки, а так же суммарное количество обработанных листов, сколько из них было очищено, а сколько пропущено. И будет предложено сохранить книгу для сохранения результатов или нет:
Если нажать Да, то книга будет сохранена и окно закроется. Следует нажимать в том случае, если уверены, что очистка файла прошла успешно и не было удалено ничего нужного. При нажатии Нет окно просто закрывается, после чего можно закрыть файл без сохранения, чтобы все изменения, внесенные программой не были сохранены.
Примечание: применяя данную команду настоятельно рекомендуется сначала сделать резервную копию файла. Все действия вы производите на свой страх и риск, автор не несет никакой ответственности за потерю какой бы то ни было информации в файлах, произошедшей вследствие применения данной команды. Применяя команду Вы соглашаетесь с этими условиями.
Excel слишком много различных форматов ячеек
Группа: WinCity Team
Сообщений: 2141
Регистрация: 26.06.2001
Из: Россия, Александров-Кольчугино
Пользователь №: 131
Конфигурация
Группа: Гость форума
Сообщений: 2
Регистрация: 28.11.2001
Из: Ukraine
Пользователь №: 747
Конфигурация
цитата: Из сообщения пользователя Gluzer:
А при этом сообщение кнопка справки не появляется? Если пишет что слишком много — значит и правда много[/QUOTE]
Увы, справка не появляется. Как бы узнать сколько форматов можно ставить (я использовал только числовой 0 и 2 знака после запятой, текстовай, дата и общий — разве это много?) и где это определяется (может в настройках). Как она считает форматы, для каждой ячейки отдельно или один формат для всех однотипных. Число форматов считается для каждой страницы отдельно или для всего файла целиком. Применяется расцветка и рамки (может они тоже фходят в понятие формат?).
Сталкиваюсь с таким ограничением впервые, правда много сказать о файле не могу, писал его не я, но при быстром просмотре никаких криминалов (типа рекурсии) нет. Разве что ссылки на несуществующие внешние файлы, но до сих пор это работало. Ошибка выскакивает после очередной попытки изменить разрядность ячейки типа число. Спасибо за ответ.
Слишком много различных форматов ячеек
Я прочитал некоторые из результатов поиска Google, и они говорят, что я должен упростить форматирование, но я даже не знаю, как я до 4000 различных форматов ячеек, не говоря уже о том, как много я использую, какие из них, так что я могу удалить некоторые.
Это не также появляются несколько раз файл запуска, но не все, до тех пор, пока она идет вверх, а затем это происходит каждый раз, когда он запускается. Поскольку макрос делает так много работы, в том числе создания 10 листов с нуля, я не знаю, что делать.
- макроскопический я мог бы работать, чтобы получить список всех форматов ячеек и сколько ячеек их использует?
- программы они доверяют, чтобы помочь удалить лишние форматы ячеек?
Проблема вы описываете заставила меня (и Коллега) потерять много часов производительности при использовании Excel 2010. Следующий кода VBA / макро помог мне бросить файл .xlsm с помощью 3540 стилей вплоть до 34 лет.
«Клеточные форматы» являются сложными. Клетки на самом деле не имеют «формат». У них есть шрифт (который сам по себе имеет имя и размер), NumberFormat, высота, ширина, ориентация и т.д.
Таким образом, вы должны определить, что вы имеете в виду под «формат».
Ниже код, чтобы получить имя и размер шрифта. Вы можете заменить любые атрибуты, которые вы хотите.
Приведенный ниже код предполагает, что вы создали рабочий лист с именем «Форматы» в книге. После запуска макроса, шрифт Название и размеры будут перечислены в этой таблице.
Многие люди, кажется, столкнулись с этой проблемой.
Чаще всего проблема связана с чрезмерным количеством неиспользуемых и часто искаженными стилей и не столько общее количество клеточного уникальными комбо формата ячейка.
Я написал утилиту для исправления файлов XL2007 OOXML , которые могут быть сохранены до XL2003. Вот ссылка на запись в блоге:
- Требуется .Net3.5 и MS Excel 2007.
- Будет ли исправить XLSX или XLSM файлы.
- Пост имеет ReadMe файл, чтобы перейти с приложением.
Нет необходимости идти на риск дальнейшего развращает файл с помощью Open Office, как это не предлагается на некоторых других форумах
Я имел эту проблему, нашел самый простой способ , чтобы очистить это было с помощью этого Excel добавить . Это , как представляется , «официальный» ответ от страницы Microsoft по этой проблеме .
Для людей, которые так запутался, я был в использовании .xlam файлов, после его загрузки вы делаете это в Excel:
-
Нажмите на Файл
Эти ошибки , которые приводят к «Слишком много форматов ячеек» сообщение об ошибке в Excel 2007+ были рассмотрены: http://sergeig888.wordpress.com/2011/05/06/msft-released-hot-fix-for-excel-2007 -Custom-стили дублирование / Обратите внимание , что исправление ошибок не будет удалять уже существующие стили , связанные с коррупцией файла. Инструменты , основанные на Open XML (доступны бесплатно) единственный вариант , который может удалять элементы , недоступные для Excel объектной модели на основе инструментов: например, плохие стили, переодетые себя как встроенные, скрытые стили и т.д . Open XML средствами очистки на основе 100% стилей , связанных с коррупцией свободных файлов.
Это удалит все стили КРОМЕ стилей по умолчанию (нормальный, толковый, 20% Accent1 и т.д.). В том числе стилей, созданных пользователем, но это быстрый и грязный способ очистить книгу:
Я хотел бы знать, что tempstyle.locked собственность на самом деле относится к другим, чем «логическое значение, которое указывает, если объект заблокирован».
Одним из решений может быть использование ASAP утилиты . В разделе листа есть remove all unused styles вариант. Затем вы должны закрыть книгу и открыть заново, я думаю.
Я видел эту проблему раньше. Можно воссоздать, чтобы доказать, что я Abaout сказать. Это немного поймать 22, но если у вас есть лист, который имеет проблему, «Слишком много форматов», открыть новый лист и скопировать одну ячейку из слишком большого количества форматов листа и просто вставить его в новую книгу. Эта книга будет теперь «Infected», как это было и будет также иметь слишком много форматов ошибок. Кажется, что много данных формата приходит с этой пастой, если вы используете пасту специальной, чтобы ограничить его.
Как сделать вещи лучше? Ну обходной путь заключается в использовании функции Сохранить как HTML. Медведь со мной , хотя это работает. Я говорю о 2003 здесь, я не знаю , что происходит в 2007 году, может быть , эта ошибка была исправлена. Так что . Сохранить как Html затем закройте первенствовать. Загрузите новую сессию и загрузить это в убедившись , что вы не запускать макросы , а затем после загрузки сохранения в виде таблицы.
Когда вы закрыть и снова открыть эту новую таблицу вашей Слишком много форматов Беды должна исчезнуть.
SpreadsheetGear для .NET будет сливаться неуникальными форматы , которые могут помочь в вашей ситуации.
Вы можете скачать бесплатную пробную версию здесь , если вы хотите увидеть , помогает ли это. Просто загрузите книгу в «SpreadsheetGear 2009 для Windows» приложение , которое устанавливается вместе с программой оценки , а затем сохранить книгу.
Если у вас действительно есть что много уникальных форматов, вы должны упростить. Каждая уникальная комбинация цвета шрифта / клеток (внутренний), формат числа, горизонтального и вертикального выравнивание, границы, уровень отступа, и, вероятно, несколько вещей, которые я не думающие о вызовет уникальный элемент в таблице.
Другой вариант заключается в переходе на Excel 2007, который имеет ограничение на уникальных форматов ячеек увеличилось с 4000 до 64К.
Отказ от ответственности: У меня есть SpreadsheetGear LLC
Каждое слово или буква в ячейке MS Excel может иметь свой шрифт, стиль шрифта, цвет и размер. Это позволяет сделать таблицу более наглядной и удобочитаемой. Для подобного форматирования ячейки достаточно перевести ее в режим редактирования нажатием клавиши F2 или двойным кликом левой кнопки мыши, выделить нужный участок текста и поменять параметры его шрифта. Как это сделать программным способом?
Для начала посмотрим, как раскрасить ячейку в программе, которая работает с файлами MS Excel через его OLE-сервер. В этом нам поможет свойство ячейки Characters(start, length), которое позволяет манипулировать последовательностью символов в тексте ячейки (где start – номер начального символа, а length – количество символов для обработки).
uses System.SysUtils, System.UITypes, System.Variants, System.Win.ComObj, Winapi.Windows, Winapi.ActiveX; procedure UseOLE; var ovEA : OleVariant; ovCell: OleVariant; ovFont: OleVariant; begin ovEA := CreateOleObject('Excel.Application'); try ovEA.Workbooks.Add; ovEA.Cells[1, 1] := 'OLE'; // присваиваем ячейке значение ovCell := ovEA.Range['B1']; ovCell.Value := 'The BlackCat'; // меняем шрифт 3 символов начиная с 1-го ovFont := ovCell.Characters(1, 3).Font; ovFont.Name := 'Arial Black'; ovFont.Color := TColorRec.Red; // 5-й символ выделяем жирным ovCell.Characters(5, 1).Font.Bold := True; ovFont := ovCell.Characters(10, 3).Font; ovFont.Name := 'Comic Sans MS'; ovFont.Color := RGB($4B, $00, $82); // Indigo ovEA.ActiveWorkbook.SaveAs('test.xlsx'); ovEA.Quit; finally ovEA := Unassigned; end; end;
Теперь раскрасим ячейку в программе, которая работает с файлами MS Excel «напрямую» через библиотеку TMS FlexCel. Для этого у нее есть два способа.
Первый способ – использование метода SetCellFromHtml. Этот метод присваивает ячейке строку в формате HTML, при этом теги форматирования HTML превращаются в форматированный текст MS Excel.
uses System.SysUtils, System.UITypes, VCL.FlexCel.Core, FlexCel.XlsAdapter; procedure UseFlexCelHTML; var xls: TExcelFile; begin xls := TXlsFile.Create(True); try xls.Open('test.xlsx'); xls.SetCellValue(2, 1, 'FlexCel HTML'); xls.SetCellFromHtml(2, 2, 'The BlackCat'); xls.Save('test.xlsx'); finally xls.Free; end; end;
Это способ прост в использовании, но имеет один существенный недостаток. Атрибут «size» тега «font» задает размер шрифта в условных единицах, что не позволяет корректно изменять размер шрифта в ячейке MS Excel.
Второй способ – использование типа TRichString record. TRichString представляет собой строковое значение ячейки MS Excel в формате RTF. Для управления форматом строки TRichString используется массив или список элементов типа TRTFRun record. TRTFRun представляет собой структуру из двух полей: Font – шрифт и FirstChar – символ, с которого применяется шрифт (отсчет ведется с 0).
uses System.SysUtils, System.UITypes, VCL.FlexCel.Core, FlexCel.XlsAdapter; procedure UseFlexCelRichString; var xls: TExcelFile; xlsDefaultFont: TFlxFont; RtfRun: TRTFRunArray; begin xls := TXlsFile.Create(True); try xls.Open('test.xlsx'); xlsDefaultFont := xls.GetDefaultFont; xlsDefaultFont.Scheme := TFontScheme.None; // for TExcelFileFormat > v2003 SetLength(RtfRun, 5); RtfRun[0].FirstChar := 0; RtfRun[0].Font := xlsDefaultFont; RtfRun[0].Font.Name := 'Arial Black'; RtfRun[0].Font.Color := Colors.Red; RtfRun[1].FirstChar := 3; RtfRun[1].Font := xlsDefaultFont; RtfRun[2].FirstChar := 4; RtfRun[2].Font := xlsDefaultFont; RtfRun[2].Font.Style := [TFlxFontStyles.Bold]; RtfRun[2].Font.Color := Colors.Black; RtfRun[3].FirstChar := 5; RtfRun[3].Font := xlsDefaultFont; RtfRun[3].Font.Color := Colors.Black; RtfRun[4].FirstChar := 9; RtfRun[4].Font := xlsDefaultFont; RtfRun[4].Font.Name := 'Comic Sans MS'; RtfRun[4].Font.Color := TExcelColor.FromArgb($4B, $00, $82); // Indigo xls.SetCellValue(3, 1, 'FlexCel RTF'); xls.SetCellValue(3, 2, TRichString.CreateWithoutCopy('The BlackCat', RtfRun)); // увеличим размер шрифта на 2.5 RtfRun[4].Font.Size20 := RtfRun[4].Font.Size20 + 50; xls.SetCellValue(4, 1, 'FlexCel RTF Size+2.5'); xls.SetCellValue(4, 2, TRichString.CreateWithoutCopy('The BlackCat', RtfRun)); xls.Save('test.xlsx'); finally xls.Free; end; end;
Этот способ требует написания большого количества команд, но он является более гибким и не требует составления строки в формате HTML. К тому же метод SetCellFromHtml сам использует TRichString:
procedure TXlsFile.SetCellFromHtml(const row: Int32; const col: Int32; const htmlText: UTF16String; const XF: Int32); var fmt: TFlxFormat; Rs: TRichString; begin ... Rs := TRichString.FromHtml(htmlText, fmt, Self); SetCellValue(row, col, Rs, XF); end;
ть
В процедуре UseOLE я создал файл test.xlsx, а в процедурах UseFlexCelHTML и UseFlexCelRichString его открывал и дополнял. Поэтому, если процедуры вставить в программу и выполнить последовательно
program xlsCellText; {$APPTYPE CONSOLE} uses System.SysUtils, System.UITypes, System.Variants, System.Win.ComObj, Winapi.Windows, Winapi.ActiveX, VCL.FlexCel.Core, FlexCel.XlsAdapter; procedure UseOLE; begin ... end; procedure UseFlexCelHTML; begin ... end; procedure UseFlexCelRichString; begin ... end; begin try UseOLE; UseFlexCelHTML; UseFlexCelRichString; except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; end.
то получим такой результат:
Как вы видите, несмотря на использование различных методов, текст в ячейках B1-B3 отформатирован одинаково. Отличается только ячейка B4 – в ней для слова «Cat» размер шрифта увеличен с 11 до 13.5.