Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / эксел2007: дико тормозит один лист в книге / 25 сообщений из 32, страница 1 из 2
31.08.2011, 11:50
    #37418801
exp98
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
эксел2007: дико тормозит один лист в книге
Народ, куда копать? Вопрос отчасти теоретический, но этот файл дадут ещё несколько раз, интересно понять вообще причину, т.к. получаю его 2-й раз.

Размер 200 х 20 ))
Тормозит конкретный лист в книге так, что простое перемещение курсора стрелкой занимает 3 сек или больше. Другие листы не тормозят. Сделать что-то мало-мальски обновляющее экран - закрываю глаза на минуту. Ну и т.д. Соответственно открытие книги на этом листе долгое. Одновременно открыты другие книги - не тормозят.

Что я пытался сделать?
Ссылки на внешние файлы отсутствуют
Скрытых листов нет
Скрытых ячеек нет
Сделал копи + вставка значений и сохранил в новой книге, так что формул тоже нет
Другие листы в книге не тормозят, но я и их удалил. После этого размер остается 1,5 Мб, в то время как копия значений в новом файле займёт 100 кб - естесственно тормозов не будет.
Макросов нет, по крайней мере обычных, которые был бы видно через меню.
Условных форматирований нет, только клетки все пёстро раскрашены - щас висит снятие всех красок)).

Затем попытаюсь посмотреть свойства штатными средствами ...
Что ещё может быть и как искать? Буду признателен за ликбез.
...
Рейтинг: 0 / 0
31.08.2011, 12:01
    #37418840
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
эксел2007: дико тормозит один лист в книге
Прогони
это
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Private Sub cmdDeleteAll_Click()
Dim sh As Worksheet
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
On Error Resume Next
For Each sh In Application.ActiveWorkbook.Sheets
    If sh.Shapes.Count >  0  Then
        sh.Select
        sh.Shapes.SelectAll
        If Not (Selection Is Range("A1")) Then
            Selection.Delete
        End If
    End If
Next sh
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
и
это
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
Sub Удалить_все_стили_и_имена()
    Dim st As Style
    Dim kol_stiley

    With ActiveWorkbook

        kol_stiley = .Styles.Count
        MsgBox "Всего стилей в документе = " & kol_stiley & Chr( 10 ) & " Для успешного удаления стилей нужно снять защиту 
на всех листах.", vbInformation

        On Error Resume Next
        For Each st In .Styles
            If st.Name <> "Normal" Then
                st.Delete
            End If
        Next st

        MsgBox "Было удалено " & kol_stiley - .Styles.Count & " стилей, осталось " & .Styles.Count & " стилей", 
vbInformation
    End With

    Dim n As Name, ns As Names, nCoumt As Long, i As Long

    Set ns = ActiveWorkbook.Names
    nCoumt = ns.Count
    MsgBox "Всего имен в документе = " & CStr(nCoumt) & Chr( 10 )

    For i =  1  To nCoumt
        ns.Item( 1 ).Delete
    Next i
    On Error GoTo  0 
End Sub
и посмотри что получится

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
31.08.2011, 12:29
    #37418903
exp98
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
эксел2007: дико тормозит один лист в книге
Попробую, когда ОНО освободится)
Обнаружил столбцы, нет, они не скрыты, они просто сдвинуты в ноль. Их раскрытие, а затем очистка занимает время) Может там вся соль ...
...
Рейтинг: 0 / 0
31.08.2011, 12:38
    #37418930
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
эксел2007: дико тормозит один лист в книге
exp98Попробую, когда ОНО освободится)
Обнаружил столбцы, нет, они не скрыты, они просто сдвинуты в ноль. Их раскрытие, а затем очистка занимает время) Может там вся соль ...так сильно у меня не лагало, но всё же попробуйте камнем - всё в др. книгу. или просто всё заново
...
Рейтинг: 0 / 0
31.08.2011, 12:49
    #37418949
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
эксел2007: дико тормозит один лист в книге
> Автор: PlanB
> так сильно у меня не лагало,

Это потому, что ты молод и крут (с)

P.S. У меня такое периодически попадает, но вроде вычистили и уже давненько не было(тьфу, тьфу, тьфу). Источник так и не
нашли, но были подозрения что это экспорт в ексель из какой-то старой программы. На листах было по несколько десятков
тысяч графических объектиков, обычных прямоугольников, которые хаотично располагалиль на листе и были маленького размера
и прозрачные. Выделить получилось только программно. И такой фигни на всех листах в книге, а листов могло быть до трёх
десятков.

Еще помогало открытие файла в ОпенОфисе и сохранение его как файл екселя. Причем тоже хорошо помогало.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
31.08.2011, 12:52
    #37418955
exp98
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
эксел2007: дико тормозит один лист в книге
Да мне не весь файл нужен, а только изменённые данные. И так ещё несколько раз. Хочется ткнуть носом афтаршу в это самое г, которое она мне присылает. И как только у неё не тормозит? Поэтому первая мысль была - ссылки на внешние файлы, но ексел их не индицирует в своём меню. А пока одна половина экрана стала белой. Ждём-с, вдруг там картинки спрятаны, и вдруг они из инета тянутся, с чего такой размер файла? одни лишь стили? ну, в общем отдыхаю пока ...
...
Рейтинг: 0 / 0
31.08.2011, 12:57
    #37418970
exp98
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
эксел2007: дико тормозит один лист в книге
Игорь Горбонос, вопрос уже теоретический. ОпенОфис есть, но если я им воспользуюсь, то не узнаю причины. Надеюсь найти ))

А могут ли рисунки быть спрятаны так как у меня? Кстати, а макросом как рисунки поискать?
...
Рейтинг: 0 / 0
31.08.2011, 12:58
    #37418975
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
эксел2007: дико тормозит один лист в книге
Игорь ГорбоносНа листах было по несколько десятков тысяч графических объектиков, обычных прямоугольников...Выделить получилось только программно...ну, не пугай ТС у меня подобное решалось при помощи F5-выделить-объекты
...
Рейтинг: 0 / 0
31.08.2011, 12:59
    #37418977
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
эксел2007: дико тормозит один лист в книге
exp98Кстати, а макросом как рисунки поискать?ответил выше, попробуйте так, для начала..
...
Рейтинг: 0 / 0
31.08.2011, 13:03
    #37418990
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
эксел2007: дико тормозит один лист в книге
> Автор: PlanB
> ну, не пугай ТС у меня подобное решалось при помощи F5-выделить-объекты


О! А я и не знал. Я просто сделал цикл по всем Shapes листа и изучал размеры и расположение, а потом просто удаляю
и все

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
31.08.2011, 13:14
    #37419024
exp98
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
эксел2007: дико тормозит один лист в книге
PlanB F5 + ...
Нажал, теперь жду результата), а процессор занят на 100%
...
Рейтинг: 0 / 0
31.08.2011, 15:44
    #37419346
exp98
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
эксел2007: дико тормозит один лист в книге
Игорь ГорбоносПрогони ...


Стилей 183, а в пустом листе их 45. Висло на стиле 132 "Обычный 3", но видимо не это главное.

sh.Shapes.Count=29371 шт. Поэтому СелектОлл виснет) также как и F5.

Подскажите, какими кодами их перебирать, а сперва посмотреть позицию или свойства, действительно, вдруг они тоже прозрачные?
...
Рейтинг: 0 / 0
31.08.2011, 15:47
    #37419349
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
эксел2007: дико тормозит один лист в книге
dim o as object
for each o in sh.shapes
o.delete
next o

типа того
...
Рейтинг: 0 / 0
31.08.2011, 16:01
    #37419383
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
эксел2007: дико тормозит один лист в книге
> Автор: PlanB
> типа того


Да, только так дольше, чем сделать сразу Select и потом Delete всем выделенным.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
31.08.2011, 16:10
    #37419407
exp98
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
эксел2007: дико тормозит один лист в книге
Не знаю, дольше ли?
при СелектОлл подвисает
вставил
for each ob in sh.shapes ...
на этой строчке и повисло.

Но сейчас надо убегать, может после 18 ещё вернусь.
...
Рейтинг: 0 / 0
31.08.2011, 16:17
    #37419432
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
эксел2007: дико тормозит один лист в книге
exp98for each ob in sh.shapes ...
на этой строчке и повисло.не надо было писать ob вместо о
так пробуйте
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Sub Sdelete()
    Dim o As Object
    Dim sh As Worksheet
    
    Set sh = ThisWorkbook.Worksheets("Лист1")
    For Each o In sh.Shapes
        o.Delete
    Next o
End Sub
...
Рейтинг: 0 / 0
31.08.2011, 16:21
    #37419440
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
эксел2007: дико тормозит один лист в книге
> Автор: exp98
> Не знаю, дольше ли?
> при СелектОлл подвисает

Дольше, я замерял и оставил СелектОлл

> for each ob in sh.shapes ...
> на этой строчке и повисло.


хм, у меня не зависало, а крутило цикл, по Ctrl+Break можно было приостановить его выполнение, но срабатывало даааллееко
не сразу, или я специально добавлял в цикл i = i + 1 и ставил брекпоинт на наступление условия, что i кратно ста,
например. Только смотреть там нечего :) а при остановках - удаление простаивает и не удаляет , а время идет.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
31.08.2011, 16:27
    #37419460
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
эксел2007: дико тормозит один лист в книге
Для своих любителей прекрасного, я сделал такую форму. Лежит она у меня, в персональной книге макросов и работает с активной книгой. В Екселе 2003.
...
Рейтинг: 0 / 0
31.08.2011, 16:52
    #37419525
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
эксел2007: дико тормозит один лист в книге
Кстати, кнопочки автофильтра считаются как объекты Shape.

А недавно началась новая фигня, обычная табличка столбцов на 25-30 и строк до 50 000 еле работают автофильтры. Макросы
очистки проганяем - ничего не находится и легче не становится. Решение нашел следующее: сохранять текущий лист в формате
SYLK , потом открывать оба файла, удалять лист с
проблемной табличкой и копировать лист из SYLK-файла. После чего SYLK-файл удалять. И все начинает летать. Естественно
это нужно делать _ДО_ того, как из этой таблички будут сделаны сводные, ссылки на неё и т.п.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
31.08.2011, 16:56
    #37419538
kuklp
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
эксел2007: дико тормозит один лист в книге
Удаление фигур без цикла и выделения.
Код: plaintext
Sub www(): ActiveSheet.DrawingObjects.Delete: End Sub
...
Рейтинг: 0 / 0
31.08.2011, 17:04
    #37419554
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
эксел2007: дико тормозит один лист в книге
kuklp
Код: plaintext
Sub www(): ActiveSheet.DrawingObjects.Delete: End Sub


От жеж любитель лаконичности


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
31.08.2011, 17:10
    #37419572
kuklp
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
эксел2007: дико тормозит один лист в книге
Игорь Горбонос,

Можно еще короче:-) скопировать в окно Immediate:

ActiveSheet.DrawingObjects.Delete

и нажать Энтер. Тогда и макрос удалять не понадобится. Он все равно одноразовый.
...
Рейтинг: 0 / 0
31.08.2011, 17:23
    #37419596
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
эксел2007: дико тормозит один лист в книге
К сожалению в 2003 екселе этой коллекции нет
Поэтому будем по старинке поезда под откос пускать

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
31.08.2011, 17:43
    #37419649
kuklp
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
эксел2007: дико тормозит один лист в книге
Какой коллекции? У меня 2003.
...
Рейтинг: 0 / 0
31.08.2011, 17:48
    #37419667
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
эксел2007: дико тормозит один лист в книге
> Автор: kuklp
> Какой коллекции? У меня 2003.


Упс! Оказывается это скрытый метод. По названию я подумал, что это коллекция рисованных объектов, а это метод,
возвращающий рисованны[й|е] объект[ы]. Спасибо, будем знать

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / эксел2007: дико тормозит один лист в книге / 25 сообщений из 32, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]