powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как удалить все объекты на листе?
4 сообщений из 4, страница 1 из 1
Как удалить все объекты на листе?
    #35263388
Lilya Usmanova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Кол-во и имена заранее не известны. Может можно как-то в цикле по объектам, родитель у которых - лист?
...
Рейтинг: 0 / 0
Как удалить все объекты на листе?
    #35263562
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Lilya Usmanova
> ...
> Кол-во и имена заранее не известны. Может можно как-то в цикле по
> объектам, родитель у которых - лист?

У меня это регулярная беда, никак не могу отловить откуда приходит, бывает в
книге пару десятков листов и на десятке из них порядка 3 - 6 тысяч объектов
в виде фигур практически нулевых размеров, разбросанных по всему листу.

Код: plaintext
1.
2.
3.
4.
5.
Sub Макрос9()
Dim sht As Worksheet
Set sht = ActiveWorkbook.Sheets("Лист1")
sht.Shapes.SelectAll
Selection.Delete
End Sub
Это что было под рукой, позже выложу код который использую для работы, хотя
можно и этим обойтись :)
операции выделения и удаления довольно продолжительны по времени и затратны
по производительности, и работать в это время не дают :)

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как удалить все объекты на листе?
    #35478797
vasya2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Быстро и без выделения:
Sub Shapedel()
On Error Resume Next
For Each LS In ThisWorkbook.Sheets
For Each s In LS.Shapes
s.Delete
Next
Next
End Sub
...
Рейтинг: 0 / 0
Как удалить все объекты на листе?
    #35479182
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обещал выложить и забыл. Спасибо vasya2 напомнил.

Кстати я у себя отказался от такого цикла, потому что по скорости выделение и удаление получались быстрее, на моих книгах. Но с другой стороны, изначально делал циклами и даже показывал прогресс пользователю. Но потом договорились с пользователями, что они готовы подождать, и без прогреса удаления. Поэтому проведя эксперименты сделал так.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как удалить все объекты на листе?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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