Макрос для удаления картинок в excel

Если вы хотите удалить все изображения из 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% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Содержание

  1. Excel макрос для удаления картинок
  2. Как уменьшить размер файла и ускорить его
  3. Проблема 1. Используемый диапазон листа больше, чем нужно
  4. Проблема 2. Используется старый формат XLS вместо новых XLSX, XLSM и XLSB
  5. Проблема 3. Избыточное форматирование
  6. Проблема 4. Ненужные макросы и формы на VBA
  7. Проблема 5. Именованные диапазоны
  8. Проблема 6. Фотографии высокого разрешения и невидимые автофигуры
  9. Проблема 7. Исходные данные сводных таблиц
  10. Проблема 8. Журнал изменений (логи) в файле с общим доступом
  11. Проблема 9. Много мусорных стилей
  12. Проблема 10. Много примечаний
  13. Excel макрос для удаления картинок
  14. Удалите все изображения на активном листе с помощью команды Перейти
  15. Удалите все изображения на активном листе с помощью VBA
  16. Удалите все изображения на активном листе или всю книгу с помощью Kutools for Excel

Excel макрос для удаления картинок

Если на вашем листе есть несколько изображений, теперь вы хотите удалить некоторые из них в указанном диапазоне, как вы быстро с этим справитесь?

With Kutools for Excel‘s Delete Illustrations & Objects feature, you can quickly delete all pictures or other objects you need from active worksheet, multiple sheets or the whole worbkook as quickly as possible.

Kutools for Excel: with more than 200 handy Excel add-ins, free to try with no limitation in 60 days. Download and free trial Now!

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

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

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

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

Внимание: В приведенном выше коде A5: B8 это диапазон, из которого вы хотите удалить изображения, измените его по своему усмотрению.

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

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

После установки Kutools for Excel, пожалуйста, сделайте следующее:

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

2. В Удалить иллюстрации и объекты диалоговое окно, отметьте Картинки из Удалить раздел, а затем выберите область, в которой вы хотите удалить изображения из-под заглянуть раздел, см. снимок экрана:

3. Затем нажмите Ok кнопку, и все изображения будут удалены с рабочего листа или всей книги, как вы выбрали.

Источник

Как уменьшить размер файла и ускорить его

Если в один прекрасный момент вы осознаете, что ваш основной рабочий файл в Excel разбух до нескольких десятков мегабайт и во время открытия файла можно смело успеть налить себе кофе, то попробуйте пробежаться по описанным ниже пунктам — возможно один или несколько из них укоротят вашего «переростка» до вменяемых размеров и разгонят его «тормоза» 🙂

Проблема 1. Используемый диапазон листа больше, чем нужно

Если ваша таблица занимает 5 на 5 ячеек, то это отнюдь не означает, что Excel запоминает при сохранении этого файла только 25 ячеек с данными. Если вы в прошлом использовали какие-либо ячейки на этом листе, то они автоматически включаются в используемый диапазон (так называемый Used Range), который и запоминается при сохранении книги. Проблема в том, что при очистке используемых ячеек Excel далеко не всегда автоматически исключает их из используемого диапазона, т.е. начинает запоминать в файле больше данных, чем реально имеется.

Проверить это просто – нажмите на клавиатуре сочетание клавиш Ctrl+End и посмотрите куда переместится активная ячейка. Если она прыгнет на фактическую последнюю ячейку с данными на листе – отлично. А если вдруг ускачет сильно правее и/или ниже «в пустоту» – дело плохо: все эти ненужные пустые ячейки Excel тоже запоминает внутри файла.

Лечится это, тем не менее, достаточно легко:

  1. Выделите первую пустую строку под вашей таблицей
  2. Нажмите сочетание клавиш Ctrl+Shift+стрелка вниз – выделятся все пустые строки до конца листа.
  3. Удалите их, нажав на клавиатуре Ctrl+знак минус или выбрав на вкладке Главная – Удалить – Удалить строки с листа (Home – Delete – Delete rows) .
  4. Повторите то же самое со столбцами.
  5. Повторите все вышеописанные процедуры на каждом листе, где при нажатии на Ctrl+End активная ячейка перемещается не на фактическую последнюю ячейку с данными а «в пустоту» ниже и/или правее.
  6. Сохраните файл (обязательно, иначе изменения не вступят в силу!)

Если в вашей книге очень много таких листов, то проще, наверное, использовать короткий макрос.

Проблема 2. Используется старый формат XLS вместо новых XLSX, XLSM и XLSB

Много лет и версий подряд еще с начала девяностых в Excel был один формат файлов — XLS. Это, конечно, убирало проблемы совместимости, но, сам по себе, этот формат давно устарел и имел много неприятных недостатков (большой размер, непрозрачность внутренней структуры данных, легкую повреждаемость и т.д.)

Начиная с верии Excel 2007 Microsoft ввела новые форматы сохранения файлов, использование которых заметно облегчает жизнь и — ваши файлы:

  • XLSX — по сути является зазипованным XML. Размер файлов в таком формате по сравнению с Excel 2003 меньше, в среднем, в 5-7 раз.
  • XLSM — то же самое, но с поддержкой макросов.
  • XLSB — двоичный формат, т.е. по сути — что-то вроде скомпилированного XML. Обычно в 1.5-2 раза меньше, чем XLSX. Единственный минус: нет совместимости с другими приложениями кроме Excel, но зато размер — минимален.

Вывод: всегда и везде, где можно, переходите от старого формата XLS (возможно, доставшегося вам «по наследству» от предыдущих сотрудников) к новым форматам.

Проблема 3. Избыточное форматирование

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

Оставьте только самое необходимое, не изощряйтесь. Особенно в тех таблицах, которые кроме вас никто не видит. Для удаления только форматов (без потери содержимого!) выделите ячейки и выберите в выпадающем списке Очистить — Очистить форматы (Clear — Clear Formats) на вкладке Главная (Home) :

Особенно «загружают» файл отформатированные целиком строки и столбцы. Т.к. размер листа в последних версиях Excel сильно увеличен (>1 млн. строк и >16 тыс. столбцов), то для запоминания и обрабоки подобного форматирования нужно много ресурсов. В Excel 2013-2016, кстати, появилась надстройка Inquire, которая содержит инструмент для быстрого избавления от подобных излишеств — кнопку Удалить избыточное форматирование (Clean Excess Cell Formatting) :

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

Если вы не видите у себя в интерфейсе вкладку Inquire, то ее необходимо подключить на вкладке Разработчик — Надстройки COM (Developer — COM Addins) .

Проблема 4. Ненужные макросы и формы на VBA

Большие макросы на Visual Basic и особенно пользовательские формы с внедренной графикой могут весьма заметно утяжелять вашу книгу. Для удаления:

  1. нажмите Alt+F11, чтобы войти в редактор Visual Basic
  2. найдите окно Project Explorer’а (если его не видно, то выберите в меню View — Project Explorer)
  3. удалите все модули и все формы (правой кнопкой мыши — Remove — дальше в окне с вопросом о экспорте перед удалением — No):

Также код может содержаться в модулях листов — проверьте их тоже. Также можно просто сохранить файл в формате XLSX без поддержки макросов — все макросы и формы умрут автоматически. Также можно воспользоваться инструментом Очистить книгу от макросов из надстройки PLEX.

Проблема 5. Именованные диапазоны

Если в вашем файле используются именованные диапазоны (особенно с формулами, динамические или получаемые при фильтрации), то имеет смысл от них отказаться в пользу экономии размера книги. Посмотреть список имеющихся диапазонов можно нажав Ctrl+F3 или открыв окно Диспетчера имен (Name Manager) на вкладке Формулы (Formulas) :

Также вычищайте именованные диапазоны с ошибками (их можно быстро отобрать с помощью кнопки Фильтр в правом верхнем углу этого окна) — они вам точно не пригодятся.

Проблема 6. Фотографии высокого разрешения и невидимые автофигуры

Если речь идет о фотографиях, добавленных в книгу (особенно когда их много, например в каталоге продукции), то они, само-собой, увеличивают размер файла. Советую сжимать их, уменьшая разрешение до 96-150 точек на дюйм. На экране по качеству это совершенно не чувствуется, а размер файла уменьшает в разы. Для сжатия воспользуйтесь кнопкой Сжать рисунки (Compress pictures) на вкладке Формат (Format) :

Кроме видимых картинок на листе могут содержаться и невидимые изображения (рисунки, фотографии, автофигуры). Чтобы увидеть их, выделите любую картинку и на вкладке Формат (Format) нажмите кнопку Область выделения (Selection Pane) .

Для удаления вообще всех графических объектов на текущем листе можно использовать простой макрос:

Проблема 7. Исходные данные сводных таблиц

По-умолчанию Excel сохраняет данные для расчета сводной таблицы (pivot cache) внутри файла. Можно отказаться от этой возможности, заметно сократив размер файла, но увеличив время на обновление сводной при следующем открытии книги. Щелкните правой кнопкой мыши по сводной таблице и выберите команду Свойства таблицы (Pivot Table Properties) — вкладка Данные (Data) — снять флажок Сохранять исходные данные вместе с файлом (Save source data with file):


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

В Excel 2007-2016 кнопку Мастера сводных таблиц нужно добавлять на панель вручную — на ленте такой команды нет. Для этого щелкните по панели быстрого доступа правой кнопкой мыши и выберите Настройка панели быстрого доступа (Customize Quick Access Toolbar) и затем найдите в полном списке команд кнопку Мастер сводных таблиц (PivotTable and PivotChart Wizard) :

Проблема 8. Журнал изменений (логи) в файле с общим доступом

Если в вашем файле включен общий доступ на вкладке Рецензирование — Доступ к книге (Review — Share Workbook) , то внутри вашего файла Excel на специальном скрытом листе начинает сохраняться вся история изменений документа: кто, когда и как менял ячейки всех листов. По умолчанию, такой журнал сохраняет данные изменений за последние 30 дней, т.е. при активной работе с файлом, может запросто занимать несколько мегабайт.

Мораль: не используйте общий доступ без необходимости или сократите количество дней хранения данных журнала, используя вторую вкладку Подробнее (Advanced) в окне Доступ к книге. Там можно найти параметр Хранить журнал изменений в течение N дней (Keep change history for N days) или совсем отключить его:

Проблема 9. Много мусорных стилей

Про эту пакость я уже подробно писал ранее в статье о том, как победить ошибку «Слишком много форматов ячеек». Суть, если кратко, в том, что если вы разворачиваете на вкладке Главная список Стили ячеек (Home — Cell Styles) и видите там очень много непонятных и ненужных стилей, то это плохо — и для размера вашего файла Excel и для его быстродействия.

Удалить ненужные стили можно с помощью макроса или готовой команды из надстройки PLEX.

Проблема 10. Много примечаний

Примечания к ячейкам, конечно, не самый вредный момент из всех перечисленных. Но некоторые файлы могут содержать большое количество текста или даже картинок в примечаниях к ячейкам. Если примечания не содержат полезной для вас информации, то их можно легко удалить с помощью команды на вкладке ГлавнаяОчистить — Очистить примечания (Home — Clear — Clear Comments) .

Источник

Excel макрос для удаления картинок

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

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

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

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

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

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

Ноты:

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

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

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

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

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

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

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

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

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

Kutools for Excel : с более чем 300 удобными надстройками Excel, бесплатно и без ограничений в течение 30 дней.

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

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

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

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

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

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

Источник

Adblock
detector

Kutools for Excel : с более чем 300 удобными надстройками Excel, бесплатно и без ограничений в течение 30 дней.

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
Информация о материале
Категория: Макросы Excel

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

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

Необходимость в быстром удалении большого количества картинок появилась после вставки на лист рабочей книги 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» может быть подставлено любое другое имя листа рабочей книги.

Другие материалы по теме:

June 24 2014, 00:17

Макрос, удаляющий картинки в Excel в выделенном диапазоне. Тем, кому надо прайс на 4000 позиций разделить на части (а картинки, конечно, вставлены как объекты) — неоценимая штука. Спасибо http://excelvba.ru/code/ShapesInRange !

Функция ShapesInRange предназначена для получения объекта типа ShapeRange, содержащего все картинки в заданном диапазоне ячеек листа Excel

Пример использования функции ShapesInRange:

Sub DeleteShapesInRange()
    Dim ra As Range: Set ra = Columns(6) ‘ задаём диапазон для поиска картинок
  On Error Resume Next   ‘ на случай, если картинок в заданном диапазоне нет
   ShapesInRange(ra).Delete   ‘ удаляем все картинки в диапазоне ra
End Sub

Код функции ShapesInRange:

Function ShapesInRange(ByRef ra As Range) As ShapeRange
    On Error Resume Next: Dim a(), i&, n&, Shps As Shapes
    Set Shps = ra.Worksheet.Shapes
    If Shps.Count = 0 Then Exit Function
    ReDim a(1 To Shps.Count)

    For i = 1 To Shps.Count
        With Shps.Item(i)
            If .Type = msoPicture Or .Type = msoLinkedPicture Then
                If Not Intersect(ra.Worksheet.Range(.TopLeftCell, .BottomRightCell), ra) Is Nothing Then
                    n = n + 1: a(n) = i
                End If
            End If
        End With
    Next
    If n Then ReDim Preserve a(1 To n): Set ShapesInRange = Shps.Range(a)
End Function

Для удаления картинок в выделенном диапазоне ячеек, код вызова функции будет таким:

Sub DeleteShapesInSelection()
    On Error Resume Next   ‘ на случай, если картинок в заданном диапазоне нет
   ShapesInRange(Selection).Delete   ‘ находим и удаляем все картинки в выделенном диапазоне
End Sub

Оксана33

1 / 1 / 0

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

Сообщений: 329

1

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

01.04.2016, 11:33. Показов 9938. Ответов 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



Понравилась статья? Поделить с друзьями:
  • Макрос для удаление строки для word
  • Макрос для увеличения картинки в excel
  • Макрос для теста в excel
  • Макрос для текстового процессора ms word
  • Макрос для суммы прописью word