Страницы: 1
RSS
Пустой файл имеет большой объем. Как почистить?
 
Всем привет!
Помогите, пожалуйста, разобраться. Есть файл с одной вкладкой, я его полностью очистила, но он продолжает весить 1,6 Мб и при определении последней ячейки (ctrl+end) ссылается на последнюю строчку. Если ввести данные и поставить фильтр, то фильтрует все строки листа и при отборе становится виден край листа и серая область. Как от этого избавиться, чтобы вкладка превратилась в обычную пустую с начальной ячейкой А1? Спасибо за помощь.
 
Удалить пустые форматированные строки (строки! не значения), после этого обязательно сохранить изменения
 
Удаляла полностью и строки, и столбцы, и "очистить всё" - ничего не помогает:(
 
Извините, файл не сразу не посмотрел.

1. Имеется скрытый лист. Но он на размер видимого листа влияния не оказывает.
2. В файле большое количество скрытых имен. Тоже к листу отношения не имеют, но лучше почистить.
Создать общий модуль, разместить там макрос, запустить его:
Код
Sub VisibleName()
Dim n As Name, i As Long
    For Each n In ThisWorkbook.Names
        n.Visible = True: i = i + 1
    Next n
    
    MsgBox i
End Sub

Ctrl+F3 - в окне можно увидеть, сколько там грязи - 191 имя.

Удалить все имена можно с помощью макроса:
Код
Sub DeleteName()
    Dim n As Name
    For Each n In ThisWorkbook.Names
        n.Delete
    Next n
End Sub
 
Что с листом - пока не вижу.
В свойствах листа (в xml- схеме) указан целый диапазон столбца А.

Над файлом, видимо, долго издевались - куча битых имен, целый неудаляемый диапазон...
Можно почистить xml. Но... Вам нужен пустой раненый лист в книге, которая, возможно, повреждена и может дать сбой?
 
На вкладках в настоящих рабочих файлах, с которыми работаю, периодически появляется такой сбой, всегда одинаковый: программа начинает видеть последней активной ячейкой - последнюю строку, т.е. весь диапазон строк, из-за этого начинает тормозить и сложно работать с фильтрами. Вот и решила докопаться, в чем проблема, ни на одном форуме не нашла, неужели никто не сталкивался? Вы говорите, в свойствах листа указан диапазон столбца А, скорее всего, в этом и есть причина, как можно удалить эту ссылку на этот диапазон?  
 
Сохранить в .xlsx
Открыть новый файл с помощью архиватора, папка xl \ worksheets, файл sheet2.xml
Копировать файл, открыть в блокноте, найти <dimension ref=, заменить ссылку на A1:A1ниже удалить весь текст, описывающий строки (<row r="2"/><row r="3"/>...) , сохранить. \
Заменить в архиве файл-исходник новым.
Открыть файл .xlsx, сохранить как .xls

Возможно, описал неточно и надо бы еще чего исправить, но у меня после такого колдовства лист подлечился.
Изменения проводить на свой страх и риск, я здесь ни при чем :)

Если проблема повторяется, лучше создать новую книгу и перенести туда данные. Не копированием листа! Иначе можно прицепить проблему к новой книге.
 
Подождите еще некорое время. Вдруг подскажут путь проще. Я же мог чего-то не заметить, не учесть.
 
Поняла, попробую на резервной копии проделать, надеюсь хуже не станет. Спасибо вам большое:)
 
При любом исходе станет лучше - Вы освоите новое )
 
Что по мне, то проще сохранить как xlsx, открыть архиватором, зайти в папку "xl" и удалить оттуда файл styles.xml. У Вас в книге стилей выше крыши. Потом файл сохранить и открыть. При первом открытии Excel ругнется на восстановление содержимого и создаст новый чистый файл стилей. И файл значительно уменьшится.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
В файле есть скрытый лист "Avertissement" (но не в нём проблема). Я сконвертировал его в 2007-ой формат и увидел для КАЖДОЙ строки запись <r..../> - из-за этого раздулся файл.
There is no knowledge that is not power
 
Ну и да, как заметил Дмитрий, удалить файл styles.xml.
There is no knowledge that is not power
 
Не зря сомневался. За стили не подумал.
 
Други, все же Мери предоставила для препарирования файло в формате .xls. Посему ИМХО возможно, что нетъ у Мери возможности сохранять в форматах моложе 2003. А посему как вариант - кому-то из участников(Вите, как первенцу например) в личку РАБОЧИЙ файл.
Это как вариант..
Я сам - дурнее всякого примера! ...
 
kuklp, Зато есть конвертеры и зато можно сохранить обратно в 2003. Backward compatibility рулит!
There is no knowledge that is not power
 
Цитата
SuperCat написал: Зато есть конвертеры
Ага, Вы друже, об этом экономисту(бухгалтеру, да любому клерку) моего цеха скажите. Вместе повеселимся от реакции. :) Я кстати тоже на "Backward compatibility" гавкаю. В смысле не знал, не видел. Но мне и и не нать :D
Я сам - дурнее всякого примера! ...
 
Для очистки файла от мусора воспользуйтесь макросом MrExcelDiet, который я ранее публиковал.
А как отобразить/почистить скрытые имена Виктор пояснил в сообщении #4
 
Позвольте вопрос по схожей теме. Не то что бы меня сильно беспокоил размер файла (пока), но нажав ради интереса ctrl+F3, как советовал  vikttur в #4, увидел следующее:

Т.е. диспетчер имен (или как его по русски), показывает битые ссылки. Хотелось бы узнать, откуда они могут браться и можно ли их безболезненно удалять.
Попробовал удалить все, работоспособность файла сохраняется. Но если они не нужны, почему Excel не удаляет такие ссылки автоматически ?
Файл не прикладываю из-за его объема и не знаю как воспроизвести такое в новом.
Заранее спасибо.
 
Цитата
VSerg написал: почему Excel не удаляет такие ссылки автоматически
потому что он их автоматически не создает. И он не знает нужны они или нет. Битые имена берутся от кривых рук, как правило. Вот есть у Вас имя, созданное на уровне книги. Оно ссылается на ячейки листа "Январь". Вы берете и удаляете лист "Январь". Все, получили битую ссылку. Как Excel должен узнать, что надо удалить такое имя? Ведь возможно, Вы захотите изменить имя так, чтобы ссылка шла на ячейки другого листа?

Цитата
ZVI написал: воспользуйтесь макросом  MrExcelDiet
Владимир, как ни странно, но эффекта по уменьшению почти нет после этого макроса. У меня, по крайней мере.
Изменено: The_Prist - 06.12.2016 12:25:47
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
The_Prist написал: Владимир, как ни странно, но эффекта по уменьшению почти нет после этого макроса. У меня, по крайней мере
Дмитрий, добрый день.  Вот мои результаты (Excel 2010, 32bit):
Вчера в сообщении #1 был файл  "пустой файл.xls"  размером 1772K, макросом он ужался до 131K, после удаления "битых" имен - 61K. Сегодня в сообщении #1 по ссылке скачал "лист Вывоз5.xlsx"  размером 2772K, после обработки макросом размер уменьшился до примерно 10K. Макрос был написан для работы в версиях 2003 и выше. Интересно, конечно, узнать, в какой версии Excel нет эффекта.
Изменено: ZVI - 06.12.2016 10:46:47
 
Владимир, мой косяк. Видимо, вчера не Yes выбрал, а что-то иное. Сейчас повторил - файл ужался конкретно. Где-то я вчера накосячил...
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
VSerg, вопрос следовало задать в новой теме.
Страницы: 1
Читают тему
Наверх