Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.06.2013, 14:57   #1
strannick
Форумчанин
 
Регистрация: 21.10.2011
Сообщений: 433
По умолчанию Работает\не работает удаление картинок

Добрый день, уважаемые форумчане!
Столкнулся с такой непоняткой. Формирую макросом лист с отчетом. В ячейки столбца С вставляю миникартинки под каждое наименование. Вставка идет обычным способом:
Код:
Range("C10").Select
    ActiveSheet.Pictures.Insert("D:\Изображения\image001.png").Select
Потом сформированный отчет очищаю от данных. Вставленные картинки пытаюсь удалить макросом:
Код:
Sub УдалениеКартинок()
    For Each pic In ActiveSheet.Shapes
        If pic.Type = msoPicture Then pic.Delete
    Next pic
End Sub
но картинки не удаляются. Когда же вставляю картинку в ячейку вручную через Вставка-Рисунки и запускаю потом макрос удаления, то такие картинки удаляются. В чем тогда между ними разница? Пробовал добавлять в код вставки
Код:
Selection.Locked = msoFalse
не помогает. Ситуация еще в том, что на листе есть Кнопки-картинки, которые удалять не надо естественно. И вот когда вручную вставляю картинки и удаляю их макросом, то кнопки на месте, порядок. Что можете посоветовать?
Заранее спасибо!!!
strannick вне форума Ответить с цитированием
Старый 23.06.2013, 18:11   #2
strannick
Форумчанин
 
Регистрация: 21.10.2011
Сообщений: 433
По умолчанию

Вот нашел на планете такой код, который удаляет картинки в выбранном диапазоне:
Код:
Sub DeleteButton() 
Dim figa As Shape 
For Each figa In ActiveSheet.Shapes 
If Not Intersect(Range(figa.BottomRightCell.Address), Range("A10:G13")) Is Nothing Then 
figa.Delete 
End If 
Next 
End Sub
Вот он сработал. Порядок. Но в чем разница, так и не понял.
strannick вне форума Ответить с цитированием
Старый 25.06.2013, 18:55   #3
nerv
Форумчанин
 
Аватар для nerv
 
Регистрация: 26.04.2010
Сообщений: 450
По умолчанию

Код:
ActiveSheet.Pictures.Delete
?
Тишина – самый громкий звук
nerv вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает программа анимации (движения) картинок afterik Общие вопросы Delphi 9 09.04.2013 14:39
Не работает удаление нескольких записей в форме Swatch Microsoft Office Access 3 09.07.2012 10:20
Не всегда работает удаление файла/каталога через SHFileOperationA 3D Hunter Общие вопросы Delphi 4 24.09.2011 14:47
Удаление строки в StringGrid работает как-то странно. Turboworld Общие вопросы Delphi 3 25.04.2011 09:04
не работает удаление и поиск в программе про бинарное дерево Барби Общие вопросы C/C++ 6 24.12.2008 22:20