Бухгалтер создала excel-документ, который намертво подвешивает MS Excel и Libreoffice, а в WPS Office работает медленно. Причём: * все данные с этого листа удалены * макросы и проверка правописания отключены Это проявляется на одном листе. На соседнем всё летает.
Это был какой-то отчёт. По её словам, вбивала всё руками, но это не точно. Могла копировать из 1C. Формат XLS или XLSX, или даже ODS значения не имеет. Искал причину тормозов, по частям удаляя данные со страницы. В итоге удалил их все, тормоза сохранились. Удалял клавишей Delete и через контекстное меню "Удалить содержимое > Всё" (в WPS Office, открывается только здесь), выделив всё комбинацией Ctrl-A. При копировании ячеек на другой лист "тормоза" также копируются.
Как ещё искать/найти/исправить причину такого поведения?
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
1. Вот ваш файл. Из 5,85 МБ он превратился в 42 Кб 2. На вашем листе находится 30470 графических объектов. Вы их глазами не видите, но Excel их видит и обрабатывает (просчитывает), из-за этого сильные тормоза 3. Скорее всего на лист вставили что-то из 1С (скопировали отчёт через Ctrl+C и вставили на лист Ctrl+V), таким образом объекты появились на листе 4. Вот вам макрос для их удаления (в приложенном файле он уже есть внутри) 5. Так же их можно удалить без макроса Ctrl+G (или F5) - Выделить - Объекты - ОК - кнопка Delete на клавиатуре
Код
Sub Delete_shapes()
Dim shp As Shape, Counter As Long, StartTime As Single
StartTime = Timer
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For Each shp In ActiveSheet.Shapes
Counter = Counter + 1
shp.Delete
Next
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
MsgBox "Удалено " & Counter & " объектов!" & vbNewLine & "Затрачено времени: " & Format((Timer - StartTime) / 24 / 60 / 60, "nn:ss"), vbInformation, "Конец"
End Sub