Страницы: 1
RSS
Как удалить диапазон ячеек в таблице вместе с картинкой?
 
Добрый день уважаемые специалисты по экселю!
Помогите советом по следующему вопросу:
Дано
Таблица которая содержит рисунок,
Как?
Удалить содержимое таблицы в диапазоне А1: F19 вместе с рисунком средствами VBA
Ексель 2010 х64
Пробывал:
Код
Sheets("Лист2".Range("A1:F19") .Delete
Sheets("Лист2".Range("A1:F19").Clear
Содержимое таблицы очищается а вот картинка остается...
Изменено: Dmitriywu - 04.09.2014 14:46:22
 
Ответил в первой теме: в моём коде вместо Copy напишите Cut
Вы хоть читайте, раз спрашиваете...
 
Код
Sheets("Лист2").Pictures.Delete
There is no knowledge that is not power
 
Юрий М, да, спасибо! Ну дык он же в буфере будет висить - или это не критично?
Изменено: Dmitriywu - 04.09.2014 15:17:13
 
Johny , по этому коду он удалить все картинки на листе?
Задача очистить содержимое в заданном диапазоне A1:F19
Изменено: Dmitriywu - 04.09.2014 15:16:42
 
Цитата
Dmitriywu пишет: он же в буфере будет висить - или это не критично?
Проверьте буфер - не должно там ничего быть. Если там что-то осталось, то:
Код
Application.CutCopyMode = False
 
 
Проверил - вообще не удаляет, бегает рамка как при простом вырезании:
Код
Sub ()
Sheets("Лист2").Range("A2:F19").Cut
End Sub
PS Задача не перенести данные с картинкой с первого листа на второй,
    задача удалить данные на втором листе в диапазоне вместе с картинкой
Изменено: Dmitriywu - 04.09.2014 15:00:20
 
Юрий М, Уважаемый Юрий предложенные Вами метод работает на другой результат
 
Цитата
Dmitriywu пишет: предложенные Вами метод работает на другой результат
На как ДРУГОЙ? Я ведь что писал: "вместо Copy напишите Cut"
Было:
Код
Range("E17:J34").Copy Sheets("Лист2").Range("A1") 
Меняем Copy на Cut и получаем:
Код
Range("E17:J34").Cut Sheets("Лист2").Range("A1") 
 
Юрий М, да все работает!
таблица, значения и картинка на первом листе удаляются и копируются на второй лист!
но, мне не нужно удалять данные с первого листа мне нужно на ВТОРОМ листе удалить таблицу с картинкой
ваш первый макрос копирует содержимое с первого листа на второй
Код
 Range("E17:J34").Copy Sheets("Лист2").Range("A1")
мне нужен второй макрос! который очищает данные на втором листе для нового копирования
Изменено: Dmitriywu - 04.09.2014 15:38:43
 
Dmitriywu, или если я правильно Вас понял, другого выхода, как
вырезать содержимое на ненужный лист, с последующей его полной очисткой - нет?
как то не по феншую...  
 
Код
Sub Macro2()
Dim iShape As Shape
    For Each iShape In Sheets("Лист2").Shapes
        If Not Intersect(iShape.TopLeftCell, Sheets("Лист2").Range("E17:J34")) Is Nothing Then
            iShape.Delete
        End If
    Next
End Sub
 
 
Юрий М, Спасибо огромное! Все работает!
Без Вашего наглядного примера, написать  подобное самому сложновато, функцию "Not Intersect" вообще вижу в первые  :)
Страницы: 1
Наверх