Новости:

Новая редакция правил форума: 2.4. Если вопрос или ответ содержится во вложенном файле, все-равно кратко описывайте в сообщении вопрос или суть решения. Это необходимо, чтобы тему можно было найти через поиск.

Главное меню

Удаление объекта макросом

Автор Bomont, 09.08.2011, 12:13

« назад - далее »

Bomont

Доброго времени суток!

Подскажите пожалуйста, имеется макрос копирования листа в новую книгу. После копирования надо удалить закрашенный прямоугольник в новой книге. Я делаю это строчкой
   
ActiveSheet.Shapes.Range(Array("Rounded Rectangle 5")).Select
   Selection.Delete

Но вот в чем беда, при использовании макроса на разных компах - когда происходит копирование листа, у этого прямоугольника то имя Rounded Rectangle 5 то имя Rounded Rectangle 3. То есть точно неизвестно. Как это можно сделать, подскажите пожалуйста.

Bomont

Или просто подскажите как удалить все объекты на листе макросом

For Each i In ActiveSheet.Shapes
        i.Delete
      Next

кроме графиков

Очень признателен!

nilem

#2
Если прямоугольник один-единственный, то можно так:
ActiveSheet.Shapes(1).Delete

Или, если нужно удалить только прямоугольники, то:
Sub ertert()
Dim shp As Shape
For Each shp In ActiveSheet.Shapes
   If shp.Name Like "*Rectangle*" Then shp.Delete
Next shp
End Sub


Bomont

Сработало! Спасибо большое!