ТРЕНИНГИ
Быстрый старт
Расширенный Excel
Мастер Формул
Прогнозирование
Визуализация
Макросы на VBA
КНИГИ
Готовые решения
Мастер Формул
Скульптор данных
ВИДЕОУРОКИ
Бизнес-анализ
Выпадающие списки
Даты и время
Диаграммы
Диапазоны
Дубликаты
Защита данных
Интернет, email
Книги, листы
Макросы
Сводные таблицы
Текст
Форматирование
Функции
Всякое
Коротко
Подробно
Версии
Вопрос-Ответ
Скачать
Купить
ПРОЕКТЫ
ОНЛАЙН-КУРСЫ
ФОРУМ
Excel
Работа
PLEX
© Николай Павлов, Planetaexcel, 2006-2022
info@planetaexcel.ru
Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
Техническая поддержка сайта
ООО «Планета Эксел» ИНН 7735603520 ОГРН 1147746834949 |
ИП Павлов Николай Владимирович ИНН 633015842586 ОГРНИП 310633031600071 |
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
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 picTo 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
How do I delete all the pictures in an Excel 2007 worksheet? A working code example would be great.
asked Dec 18, 2010 at 21:22
Arlen BeilerArlen Beiler
15k32 gold badges91 silver badges135 bronze badges
The simplest way:
Activesheet.Pictures.Delete
or
Activesheet.Shapes.Delete
Depending on the type of object your picture is.
Deletes all pictures with greater efficiency then iterating (looping through) and deleting them one by one.
answered Aug 10, 2015 at 12:13
jonyjony
1,5311 gold badge26 silver badges43 bronze badges
1
Dim shape As Excel.shape
For Each shape In ActiveSheet.Shapes
shape.Delete
Next
answered Dec 18, 2010 at 21:26
Eric FortisEric Fortis
16k6 gold badges41 silver badges62 bronze badges
4
To delete all pictures or others shapes, you can iterate all of them and check the type:
Dim shape As Excel.shape
For Each shape In ActiveSheet.Shapes
Select Case shape.Type
Case msoPicture, msoMedia, msoShapeTypeMixed, msoOLEControlObject, msoAutoShape
shape.Delete
Case Else
'Do nothing
End Select
Next
In my case this code was usefull because my sheet was full of transparent shapes of type msoAutoShape which I thought were pictures. So, Activesheet.Pictures.Delete was not working.
You can find all shape types on this link: http://msdn.microsoft.com/en-us/library/aa432678(v=office.12).aspx
answered Nov 21, 2017 at 17:41
Если вы хотите удалить все изображения из 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-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
При копировании на рабочий лист Excel информации со страницы из сети Интренет периодически помимо текста вставляются ненужные картинки и различные элементы управления (кнопки, флажки и т.д.). Если их количество значительное, то удалять «вручную» окажется трудоемким процессом.
Имеется несколько способов решить данную проблему: средствами программы Excel и с помощью макроса VBA.
Удаление картинок и объектов в Excel средствами программы
В результате вставки данных со страницы Интернет-сайта скопировались ненужные картинки и элементы управления:
Чтобы удалить ненужные объекты, сначала необходимо выделить эти элементы, для этого перейдите в меню «Главная» -> «Редактирование» -> «Найти и выделить«-> «Выделение группы ячеек» (можно также кликнуть клавишу F5, а затем нажать кнопку «Выделить…«).
В открывшемся окне необходимо выбрать пункт «Объекты» и кликнуть «OK«:
В результате Excel выделит все требуемые объекты (если необходимо какие то элементы оставить, то необходимо зажать клавишу Ctrl и левой кнопкой мыши кликнуть на необходимые элементы, для снятия выделения):
Теперь осталось только нажать клавишу Delete, чтобы удалить все выделенные объекты.
Удаление картинок и объектов в Excel с помощью макроса VBA
Указанную выше проблему можно решить, написав в редакторе Visual Basic следующий макрос:
Sub DeleteObjects() ActiveSheet.DrawingObjects.Delete End Sub
Если же необходимо удалить только картинки, тогда макрос необходимо изменить на:
Sub DeletePictures() Dim xlShape As Shape For Each xlShape In ActiveSheet.Shapes If xlShape.Type = msoPicture Then xlShape.Delete Next End Sub
Можно дополнить макрос еще одной полезной функцией — удаление гиперссылок:
ActiveSheet.Hyperlinks.Delete
Объединив два действия в одну функцию DeleteObjects будут удалены все объекты и ссылки:
Sub DeleteObjects() ActiveSheet.DrawingObjects.Delete ActiveSheet.Hyperlinks.Delete End Sub
В результате выполнения макроса на листе будут удалены все объекты, а гиперссылки заменятся на обычный текст.