Тормозит Microsoft Office Excel

Опубликовано: 12.10.2016

видео Тормозит Microsoft Office Excel

Excel 2007. Копирование и вставка данных.

Обратился к нам клиент с вопросом: тормозит Excel, при этом конкретно на одном определенном листе. Все другие листы в той же книжке работают нормально. Анализ (и Гугл) отдал  — правда к тому времени мы уже додумались грохнуть большой файл drawings снутри архива xlsx, но макрос более ценен! Сущность трудности в неограниченном количестве пустых объектов типа Shape. Необходимо их удалить и будет всем счастье!



 

Sub DeleteAllTextBox()
Dim oSh As Shape
For Each oSh In ActiveSheet.Shapes
oSh.Delete
Next oSh
End Sub

Мой знакомый прислал мне Excel-файл содержащий порядка 200 строк без формул и связей, и весящий около 28МВ! Для перехода курсора из ячейки в ячейку требовалось несколько секунд. 1-ое, что я сделал, это удалил всё форматирование, очистил все пустые ячейки. Не очень посодействовало. Удалил все данные. Ситуация чуток стала лучше, но верно было видно, что файл «тормозит». Задал вопрос в Гугл – о волшебство! – отыскал ответ.


Курсор мышки тормозит и зависает - интелл жжот

Наверняка это побочный эффект копирования. Похожая вещь появляется при вставке данных целыми листами либо столбцами/строчками из файлов, сделанных 1С и схожих (ERP) систем: они генерируют в файл «пустые» ячейки (забитые пробелами) и объекты типа Надпись. В конечном итоге с течением времени файл становится очень огромным.
В Excel2003: меню Правка → Перейти → Выделить → Объекты.
В Excel2007: вкладка Основная → Отыскать и выделить → Выделение группы ячеек → Объекты.
Весь процесс сопровождался долгими лагами, но в конечном итоге выделилась какая-то непонятная ерунда, которую я удалил, после чего торможение пропало.


Front brake pad replacement 2000-2005 Hyundai Accent pads rotor Excel Install Remove Replace How to

К огорчению, в моем файле оказалось практически 14 000!  . Чтоб узреть все объекты, пройдите по меню: вкладка Основная → Отыскать и выделить → Область выделения:

Часть объектов можно узреть справа на дисплее; один объект под номером 13 697 выделен в перечне и на дисплее:

При попытке выделить все объекты Excel зависал (через 30 минут надоело, снял задачку).

2-ое воззвание к Гугл «навело» на макрос.:

Sub DeleteAllTextBox()

Dim oSh As Shape

For Each oSh In ActiveSheet.Shapes

oSh.Delete

Next oSh

End Sub

Другими словами, не выделять все объекты сходу, а запустить макрос, который будет отыскивать объекты по одному и удалять. В файле макрос совладал с ликвидированием 14 000 объектов за 5 минут! 

Мои контакты

Адрес: Украина, Одесса
Моб: +38 067 481-01-35
Емайл: Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.
Сайт: olegey.com.ua
Скайп: oleGey
Я на Tweeter
Я на Facebook
Я Вконтакте
Я на Одноклассниках

Яндекс цитирования
Adobe Photoshop | 2D графика, 2D анимация Adobe Illustrator | графика, вектор, анимация Adobe Flash | графика, вектор, анимация Adobe Acrobat | графика, текст Adobe After Effects | графика, анимация, спецэффекты Adobe Premiere Pro | графика, анимация, спецэффекты, монтаж Sound Forge | редактирование звука и музыки ZBrush | программа для трёхмерного моделирования Autodesk Mudbox — графическая программа, для создания 3D объектов, 2D скетчей, карт неровностей, карт нормалей, карт замещения. UVLayout - приложение для создания и редактирования UV координат треxмерных объектов Autodesk 3DMax | 3D графика, 3D моделирование, 3D анимация Autodesk Maya | 3D графика, 3D моделирование, 3D анимация Cinema 4D | 3D графика, 3D моделирование, 3D анимация Blender | 3D графика, 3D моделирование, 3D анимация