Vba excel как удалить картинку с листа

Оксана33

1 / 1 / 0

Регистрация: 03.12.2014

Сообщений: 329

1

Удалить все картинки на листе

01.04.2016, 11:33. Показов 9931. Ответов 8

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Всем привет! Помогите удалить все картинки или объекты на листе
Спасибо…

Visual Basic
1
2
3
4
5
6
Sub Picture()
Dim i As Long
For i = 1 To 3
   ActiveSheet.Shapes.Range(Array("Picture " & i)).Delete
 Next
End Sub



0



toiai

3217 / 966 / 223

Регистрация: 29.05.2010

Сообщений: 2,085

01.04.2016, 12:03

2

Как вариант:

Visual Basic
1
2
    ActiveSheet.Shapes.SelectAll
    Selection.Delete



1



5590 / 1580 / 406

Регистрация: 23.12.2010

Сообщений: 2,366

Записей в блоге: 1

01.04.2016, 13:33

3

……



0



The_Prist

1337 / 308 / 74

Регистрация: 13.11.2008

Сообщений: 635

01.04.2016, 13:52

4

Visual Basic
1
ActiveSheet.DrawingObject.Delete



0



1 / 1 / 0

Регистрация: 03.12.2014

Сообщений: 329

03.04.2016, 08:52

 [ТС]

5

toiai спасибо)…. а можно ли без Select обойтись?



0



Shersh

Заблокирован

03.04.2016, 09:27

6

Цитата
Сообщение от Оксана33
Посмотреть сообщение

можно ли без Select обойтись?

Visual Basic
1
2
3
for each s in ActiveSheet.Shapes
s.delete
next



0



pashulka

4131 / 2235 / 940

Регистрация: 01.12.2010

Сообщений: 4,624

03.04.2016, 12:41

7

Лучший ответ Сообщение было отмечено Оксана33 как решение

Решение

Visual Basic
1
ActiveSheet.Pictures.Delete



1



The_Prist

1337 / 308 / 74

Регистрация: 13.11.2008

Сообщений: 635

03.04.2016, 12:43

8

Лучший ответ Сообщение было отмечено Оксана33 как решение

Решение

Цитата
Сообщение от The_Prist
Посмотреть сообщение

ActiveSheet.DrawingObject.Delete

Спасибо pashulka — опечатка. Правильно так:

Visual Basic
1
ActiveSheet.DrawingObjects.Delete



1



1 / 1 / 0

Регистрация: 03.12.2014

Сообщений: 329

03.04.2016, 16:58

 [ТС]

9

Добавлено через 3 минуты
The_Prist, спасибо)) теперь работает)

Добавлено через 3 минуты
pashulka, спасибо)



0



 

If foto = True Then ActiveCell.DrawingObjects.Select  

  If foto = True Then Selection.Delete

 
 
 

то что вы описали это можно сделать и с помощью   VBAрекордера. Мне надо сделать так.. что бы программа выделяла фотку в ячейке удаляла, и вставляла новую фотку.  

  Заранее спасибо.

 

{quote}{login=The_Prist}{date=23.04.2010 02:54}{thema=}{post}Здравствуйте, TEG.    
Вы на какой ответ рассчитываете?  
Вы не хотите нам рассказать, где у Вас находятся картинки — на форме, на листе еще где?  
Что такое foto и почему оно два раза True?  
Надо удалять уже известный объект или его имя неизвестно?  
Да и удалить и скопировать совершенно разные вещи.  

  Для картинки на листе:  
ActiveSheet.Shapes(«Рисунок 1»).Copy  
ActiveSheet.Shapes(«Рисунок 1»).Delete{/post}{/quote}  

  можно было конструкцию if end применить.  

  его имя неизвестно.

 

{quote}{login=The_Prist}{date=23.04.2010 02:54}{thema=}{post}Здравствуйте, TEG.    
Вы на какой ответ рассчитываете?  
Вы не хотите нам рассказать, где у Вас находятся картинки — на форме, на листе еще где?  
Что такое foto и почему оно два раза True?  
Надо удалять уже известный объект или его имя неизвестно?  
Да и удалить и скопировать совершенно разные вещи.  

  Для картинки на листе:  
ActiveSheet.Shapes(«Рисунок 1»).Copy  
ActiveSheet.Shapes(«Рисунок 1»).Delete{/post}{/quote}  

    Удалить неизвестный объект.  
Скопировать неизвестный объект.  
Foto — есть на пользовательской форме… если есть галочка, то найти позицию, удалить старую фотку (если она есть), вставить новую фотку.  

  Я расcчитываю, что мне помогут это реализовать с помощью VBA.

 

Удалить неизвестный объект, по-моему, нельзя.    
Если только все картинки сразу со всего листа удалить, так можно.

 

перед тек как удалить неизвестный объект…надо его  имя узнать и вставить  
ActiveSheet.Shapes(«вот сюда»).Copy  
ActiveSheet.Shapes(«вот сюда»).delete  

  вопрос … как это все сделать.  
Это только мои  предположения.

 

Т.е. вы хотите, чтобы мы вам подсказали, как узнать имя картинке на листе? А если их там 50шт?    
Можно конечно циклом пройтись по всем картинкам и узнать все их имена.

 

{quote}{login=}{date=23.04.2010 04:55}{thema=}{post}Т.е. вы хотите, чтобы мы вам подсказали, как узнать имя картинке на листе? А если их там 50шт?    
Можно конечно циклом пройтись по всем картинкам и узнать все их имена.{/post}{/quote}  

  нет. имя объекта в конкретной ячейки

 

Haken

Пользователь

Сообщений: 495
Регистрация: 09.01.2013

TEG, загляните всё-таки в правила или хотя бы в верхнюю часть страницы:  
«…четко и подробно сформулируйте свой вопрос, приложите файл с примером…»  
потому что, по-моему, никто так до сих пор и не понял, в чем именно Вам нужна помощь…

 

Guest

Гость

#12

23.04.2010 17:05:33

Предположим, что названия картинок лежат в А1 и в А2, то  

  Sub Макрос1()  
   On Error Resume Next  
   ActiveSheet.Shapes(Range(«A1»)).Copy  
   ActiveSheet.Shapes(Range(«A2»)).Delete  
End Sub

Excel, just like other Office products, supports inserting pictures of various formats into your workbooks. However, deleting them may be time consuming in large workbooks if you’re trying to find and delete every single image manually. Let us show you how to make Excel delete all pictures automatically using VBA.

How to make Excel delete all pictures

How to make Excel delete all pictures

Pictures are stored in the Pictures collection under a worksheet object. This means that we can loop through pictures in a worksheet and delete them.

For Each pic In ActiveSheet.Pictures
    pic.Delete
Next pic

To delete the pictures from the entire workbook, we need to check every sheet.

For Each ws In ActiveWorkbook.Worksheets
    For Each pic In ws.Pictures
        pic.Delete
    Next pic
Next ws

You can use codes in two ways:

  • Module
  • Immediate Window

In the Module method, you need to add the module into the workbook or the add-in file. Copy and paste the code into the module to run it. The main advantage of the module method is that it allows saving the code in the file, so that it can be used again later. Furthermore, the subroutines in modules can be used by icons in the menu ribbons or keyboard shortcuts. Remember to save your file in either XLSM or XLAM format to save your VBA code.

The Immediate Window method, on the other hand, is essentially a quick and dirty method where you can simply copy and paste the code into the Immediate Window and press the Enter key to run it. Unfortunately, any code you use in the Immediate Window will not be saved. Also note that icons and keyboard shortcuts will not be available.

Delete pictures in active sheet

Module method:

Sub DeletePicturesInActiveSheet()
    For Each pic In ActiveSheet.Pictures
        pic.Delete
    Next pic
End Sub

Immediate Window method:

For Each pic In ActiveSheet.Pictures: pic.Delete: Next pic

Delete pictures in selection

Module method:

Sub DeletePicturesInActiveWorkbook()
    For Each ws In ActiveWorkbook.Worksheets
      For Each pic In ws.Pictures
        pic.Delete
      Next pic
    Next ws
End Sub

Immediate Window method:

For Each ws In ActiveWorkbook.Worksheets: For Each pic In ws.Pictures: pic.Delete: Next pic: Next ws

Если вы хотите удалить все изображения из Microsoft Excel, выбор каждого изображения и удаление их по одному может занять много времени. Следующие уловки могут облегчить вам работу по удалению всех изображений:

Удалите все изображения на активном листе с помощью команды Перейти

Удалите все изображения на активном листе с помощью VBA

Удалите все изображения или другие объекты на активном рабочем листе / всей книге с помощью Kutools for Excel


стрелка синий правый пузырь Удалите все изображения на активном листе с помощью команды Перейти

. Перейти к команда может выбрать все изображения на активном листе. Работа будет проще, если мы сможем выделить все изображения перед их удалением.

1, нажмите F5 , чтобы открыть Перейти к диалоговое окно в Excel.

2, Нажмите Особый кнопку и войдите в Перейти к специальному диалоговое окно , затем проверьте объект вариант. Смотрите скриншот:

3, Затем нажмите OK кнопку, все изображения выбраны на активном листе, нажмите Удалить ключ, чтобы удалить их все.

Ноты:

1. Этот метод выберет все объекты на активном листе, такие как изображения, диаграммы, формы и т. Д. Если вы не хотите удалять другие объекты, вы должны отменить выбор других объектов перед нажатием клавиши Delete.

2. Этот метод удалит только изображения на активном листе.


стрелка синий правый пузырь Удалите все изображения на активном листе с помощью VBA

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

1. Удерживайте ALT + F11 ключи в Excel, и он открывает Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модулии вставьте следующий макрос в окно модуля.

Sub DeleteAllPics()
Dim Pic As Object
For Each Pic In ActiveSheet.Pictures
Pic.Delete
Next Pic
End Sub

3, нажмите F5 ключ для запуска этого макроса. И все изображения в активном листе удаляются сразу.


стрелка синий правый пузырь Удалите все изображения на активном листе или всей книге с помощью Kutools for Excel

Kutools for Excel‘s Удалить иллюстрации и объект может удалить все изображения сразу, независимо от того, находятся ли они на активном листе или во всей книге.

1. Нажмите Кутулс > Удалить> Удалить иллюстрации и объект . Смотрите скриншот:

2. В Удалить иллюстрации и объект диалоговое окно:

(1.) Проверьте Картинки или другой вариант объектов в Удалить .

(2.) Удалите все изображения во всей книге, проверьте Все листы вариант в Заглянуть раздел; при удалении всех изображений на активном листе отметьте Активный лист вариант; при удалении всех изображений на определенных листах проверьте Выбранные листы вариант. Смотрите скриншот:

Бесплатная загрузка Kutools for Excel от Yhao сейчас!

3. Нажмите ОК. И все изображения были удалены с активного листа, выбранных листов и всей книги по мере необходимости.

Kutools for Excel‘s Удалить иллюстрации и объект может помочь нам удалить все диаграммы, линии, изображения, автофигуры, умные рисунки, текстовые поля, связанные объекты OLE и встроенные объекты OLE на активном листе, выбранном листе или на всех листах текущей книги.
Нажмите, чтобы узнать больше…

Бесплатная загрузка Kutools for Excel от Yhao сейчас!


стрелка синий правый пузырь Демонстрация: удалите все изображения на активном рабочем листе или всей книге с помощью Kutools for Excel


Статьи по теме:

  • Удалить все диаграммы Рабочие книги
  • Быстро удалить все автофигуры
  • Быстро удалить все текстовые поля

Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Быстрое удаление картинок в Excel

Подробности

Категория: Макросы Excel

Опубликовано: 04 апреля 2016

Наверняка все знают как удалить картинку с рабочего листа Excel. Подвести курсор мыши к картинке, кликнуть по ней левой кнопкой мыши и нажать клавишу Delete на клавиатуре, но как быть если картинок много?

Необходимость в быстром удалении большого количества картинок появилась после вставки на лист рабочей книги Excel информации, скопированной на одной из интернет-страниц. Вместе с нужной информацией на лист были вставлены различные элементы управления, кнопки, баннеры и изображения товаров, что потребовало чистки.

Ниже приведены несколько процедур, позволяющие решить задачу удаления картинок, а также копирования или перемещения картинок на другой лист.

Удаление картинок с активного рабочего листа Excel циклом

Sub ImgDeleteSht()

 Dim Img As Shape
    For Each Img In ActiveSheet.Shapes
        Img.Delete
    Next Img
End Sub

Удаление картинок с активного рабочего листа Excel без цикла

Sub ImgDeleteSht2()

    ActiveSheet.Shapes.SelectAll
    Selection.Delete
End Sub

Удаление всех картинок на всех листах активной рабочей книги

Sub ImgDeleteWbk()

 Dim Sht As Worksheet
 Dim Img As Shape
    For Each Sht In ActiveWorkbook.Sheets
        For Each Img In Sht.Shapes
            Img.Delete
        Next Img
    Next Sht
End Sub

Копирование картинок с активного листа на другой лист

Sub ImgCopy()

    ActiveSheet.Shapes.SelectAll
    Selection.Copy
    Sheets("Лист2").Select
    ActiveSheet.Paste
End Sub

 *Вместо «Лист2» может быть подставлено любое другое имя листа рабочей книги.

Перемещение картинок с активного листа на другой лист

Sub ImgMove()

    ActiveSheet.Shapes.SelectAll
    Selection.Cut
    Sheets("Лист2").Select
    ActiveSheet.Paste
End Sub

*Вместо «Лист2» может быть подставлено любое другое имя листа рабочей книги.

Понравилась статья? Поделить с друзьями:
  • Vba excel как удалить выделенную строку
  • Vba excel как удалить userform
  • Vba excel как убрать пробелы в строке
  • Vba excel как найти пустые строки
  • Vba excel как найти пустую ячейку