Hard-Excel без тормозов, борьба с Гига-книгами

Hard-Excel без тормозов, борьба с Гига-книгами Microsoft Excel, Бухгалтерия, Офис, Длиннопост

Часто в работе приходится сталкиваться с гигантскими файлами Excel в которых пользователи чего только не всунут, иногда размер таких файлов достигает 100Мб (даже без рисунков), поэтому решил написать именно о двух самых распространённых причинах зависания гига-книг бухгалтеров и других пользователей, практикующих вуду в Excel. Конечно, вы можете найти данную информацию в интернете, но лучше себе сохранить пару картинок, чем тратить время. И так начнём.



1.Если данные в документ excel вставляются листами или столбцами/строками из файлов, созданных в ИНФИН, 1С, SAP и других подобных ERP-системах, а также с других книг excel. При этом они генерируют в файл «пустые» ячейки (забитые пробелами) и объекты типа “Надпись” . Успешно практикующий бухгалтер, может копировать некоторые столбцы годами. Со временем файл становится очень объёмным, так как забивается. Решение следующее:


Включаем вкладку “Разработчик”

Hard-Excel без тормозов, борьба с Гига-книгами Microsoft Excel, Бухгалтерия, Офис, Длиннопост

Далее вызываем редактор нажав Alt+F11 (если у вас не вызывается можно включить вручную)

Hard-Excel без тормозов, борьба с Гига-книгами Microsoft Excel, Бухгалтерия, Офис, Длиннопост

Создаётся новый макрос module1 в который нам нужно внести следующие строки (пункт 2) :


Sub DeleteAllTextBox()

Dim oSh As Shape

For Each oSh In ActiveSheet.Shapes

oSh.Delete

Next oSh

End Sub

Hard-Excel без тормозов, борьба с Гига-книгами Microsoft Excel, Бухгалтерия, Офис, Длиннопост

Сохраняем данные изменения и подтверждаем(пункты 3,4,5).

Закрываем данное окно и уже в самом Excel применяем этот макрос перейдя во вкладку

Разработчик” и выбрав “Макросы”  - “DeleteAllTextBox”

Hard-Excel без тормозов, борьба с Гига-книгами Microsoft Excel, Бухгалтерия, Офис, Длиннопост

Готово!

___________________________________________________________________________________

2. В файле есть много разных формул, в особых случаях, прописанных на каждую ячейку, либо ячейка имеет очень много связей. В таком случае изначально включённая функция Excel “автоматического завершения записей” начинает приносить вред вместо пользы, так как из-за сложности связей ячеек предугадать по правилу предыдущих записей она уже не может и вместо этого начинает жёстко тупить. Достаточно просто отключить данную функцию и всё заработает в разы быстрее.

Hard-Excel без тормозов, борьба с Гига-книгами Microsoft Excel, Бухгалтерия, Офис, Длиннопост

Надеюсь кому-то пригодится, всем спасибо за внимание

MS, Libreoffice & Google docs

719 постов15K подписчик

Добавить пост

Правила сообщества

1. Не нарушать правила Пикабу

2. Публиковать посты соответствующие тематике сообщества

3. Проявлять уважение к пользователям

4. Не допускается публикация постов с вопросами, ответы на которые легко найти с помощью любого поискового сайта.

По интересующим вопросам можно обратиться к автору поста схожей тематики, либо к пользователям в комментариях


Важно - сообщество призвано помочь, а не постебаться над постами авторов! Помните, не все обладают 100 процентными знаниями и навыками работы с Office. Хотя вы и можете написать, что вы знали об описываемом приёме раньше, пост неинтересный и т.п. и т.д., просьба воздержаться от подобных комментариев, вместо этого предложите способ лучше, либо дополните его своей полезной информацией и вам будут благодарны пользователи.

Утверждения вроде "пост - отстой", это оскорбление автора и будет наказываться баном.

Вы смотрите срез комментариев. Показать все
11
Автор поста оценил этот комментарий

И заработала книга быстро и неправильно.

раскрыть ветку (12)
Автор поста оценил этот комментарий

Use DBMS Luke, go to the bright side.

2
Автор поста оценил этот комментарий

Быстро и правильно, там нет нечего что влияет на сами данные)

раскрыть ветку (10)
3
Автор поста оценил этот комментарий
Вопрос по поводу макроса. Почему нельзя просто выделить пустые строки и столбцы комбинацией "ctrl + shift+вниз или влево" и потом удалить их? Обычно на скорую руку так делаю, когда из-за копирований файл начинает слишком много весить и тормозить. Спрашиваю с искренним интересом. Без подкола.
раскрыть ветку (6)
2
Автор поста оценил этот комментарий
Потому что это макрос убийца
раскрыть ветку (5)
1
Автор поста оценил этот комментарий
Какая прелесть. Всегда было интересно в чем прикол таких мелкий пакостей. Кто-нибудь ведь не подумав загонит его и снесёт себе таблицу на 20к строк
раскрыть ветку (4)
Автор поста оценил этот комментарий
В экселе есть функция для выделения пустых ячеек, специально для этого. Из сапа у нас не выгружает с пустыми ячейками тем более спробелами в них...тут все зависит от ит, как они ведут разработку и доработку систем
раскрыть ветку (3)
Автор поста оценил этот комментарий
При работе с выгрузками из SAP у меня проблем никогда не было. Вес файла "раздувало" при ведении документов, которые к erp отношения не имеют.
раскрыть ветку (2)
Автор поста оценил этот комментарий
Тс просто пишет о том, что мол выгрузки корявые и в них много ячеек с пробелами...
ради любопытства, с каким модулем сапа работаете?
раскрыть ветку (1)
Автор поста оценил этот комментарий
HCM в основном на уровне просмотра данных и выгрузки отчётов. Я представитель любимой на Пикабу профессии HR)
1
Автор поста оценил этот комментарий

Примерно полгода назад возникла проблема с тормозящими екселями, время отклика составляло до нескольких секунд, притом, что данных там было с гулькин нос. И точно этот же скрипт вылечил на ура. Размер файла уменьшается в 10-15 раз. Откуда взялся исходный файл - хз, но все другие были созданы из него.

1
Автор поста оценил этот комментарий
Что делает скрипт из поста? Я не вижу там удаления пустых ячеек.
раскрыть ветку (1)
Автор поста оценил этот комментарий
Скрипт убирает шейпы ("shapes") - объекты на листе, расположенные вне ячеек (надписи, кнопки, чекбоксы, рисунки и пр.)
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку