Страницы: 1
RSS
Пустая страца подвешивает MS Excel, в WPS Office работает, но медленно
 
Добрый день.

Бухгалтер создала excel-документ, который намертво подвешивает MS Excel и Libreoffice, а в WPS Office работает медленно.
Причём:
* все данные с этого листа удалены
* макросы и проверка правописания отключены
Это проявляется на одном листе. На соседнем всё летает.

Это был какой-то отчёт. По её словам, вбивала всё руками, но это не точно. Могла копировать из 1C. Формат XLS или XLSX, или даже ODS значения не имеет.
Искал причину тормозов, по частям удаляя данные со страницы. В итоге удалил их все, тормоза сохранились. Удалял клавишей Delete и через контекстное меню "Удалить содержимое > Всё" (в WPS Office, открывается только здесь), выделив всё комбинацией Ctrl-A.
При копировании ячеек на другой лист "тормоза" также копируются.

Как ещё искать/найти/исправить причину такого поведения?

Вот видео, задержка видна при переходе с ячейки на ячейку.
Вот файл, он успешно проходит проверкунаVirusTotal ...


 
Если
Цитата
* все данные с этого листа удалены
, удалите уже весь лист и создайте новый.
 
Это-то понятно. Любопытно просто, как такое может быть.
 
А сколько весит файл?
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
An225, здравствуйте
Я бы поискал ошибку, но очень лень ждать по несколько минут каждое действие

Максим В., 6Мб
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
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
Изменено: New - 15.06.2021 16:19:02
Страницы: 1
Наверх