Если вы хотите удалить все изображения из 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 макрос для удаления картинок
- Как уменьшить размер файла и ускорить его
- Проблема 1. Используемый диапазон листа больше, чем нужно
- Проблема 2. Используется старый формат XLS вместо новых XLSX, XLSM и XLSB
- Проблема 3. Избыточное форматирование
- Проблема 4. Ненужные макросы и формы на VBA
- Проблема 5. Именованные диапазоны
- Проблема 6. Фотографии высокого разрешения и невидимые автофигуры
- Проблема 7. Исходные данные сводных таблиц
- Проблема 8. Журнал изменений (логи) в файле с общим доступом
- Проблема 9. Много мусорных стилей
- Проблема 10. Много примечаний
- Excel макрос для удаления картинок
- Удалите все изображения на активном листе с помощью команды Перейти
- Удалите все изображения на активном листе с помощью VBA
- Удалите все изображения на активном листе или всю книгу с помощью 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 тоже запоминает внутри файла.
Лечится это, тем не менее, достаточно легко:
- Выделите первую пустую строку под вашей таблицей
- Нажмите сочетание клавиш Ctrl+Shift+стрелка вниз – выделятся все пустые строки до конца листа.
- Удалите их, нажав на клавиатуре Ctrl+знак минус или выбрав на вкладке Главная – Удалить – Удалить строки с листа (Home – Delete – Delete rows) .
- Повторите то же самое со столбцами.
- Повторите все вышеописанные процедуры на каждом листе, где при нажатии на Ctrl+End активная ячейка перемещается не на фактическую последнюю ячейку с данными а «в пустоту» ниже и/или правее.
- Сохраните файл (обязательно, иначе изменения не вступят в силу!)
Если в вашей книге очень много таких листов, то проще, наверное, использовать короткий макрос.
Проблема 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 и особенно пользовательские формы с внедренной графикой могут весьма заметно утяжелять вашу книгу. Для удаления:
- нажмите Alt+F11, чтобы войти в редактор Visual Basic
- найдите окно Project Explorer’а (если его не видно, то выберите в меню View — Project Explorer)
- удалите все модули и все формы (правой кнопкой мыши — 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
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
- Информация о материале
- Категория: Макросы 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 Метки нет (Все метки)
Всем привет! Помогите удалить все картинки или объекты на листе
0 |
toiai 3217 / 966 / 223 Регистрация: 29.05.2010 Сообщений: 2,085 |
||||
01.04.2016, 12:03 |
2 |
|||
Как вариант:
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 |
|||
0 |
1 / 1 / 0 Регистрация: 03.12.2014 Сообщений: 329 |
|
03.04.2016, 08:52 [ТС] |
5 |
toiai спасибо)…. а можно ли без Select обойтись?
0 |
Заблокирован |
||||
03.04.2016, 09:27 |
6 |
|||
можно ли без Select обойтись?
0 |
pashulka 4131 / 2235 / 940 Регистрация: 01.12.2010 Сообщений: 4,624 |
||||
03.04.2016, 12:41 |
7 |
|||
Сообщение было отмечено Оксана33 как решение Решение
1 |
The_Prist 1337 / 308 / 74 Регистрация: 13.11.2008 Сообщений: 635 |
||||
03.04.2016, 12:43 |
8 |
|||
Сообщение было отмечено Оксана33 как решение Решение
ActiveSheet.DrawingObject.Delete Спасибо pashulka — опечатка. Правильно так:
1 |
1 / 1 / 0 Регистрация: 03.12.2014 Сообщений: 329 |
|
03.04.2016, 16:58 [ТС] |
9 |
Добавлено через 3 минуты Добавлено через 3 минуты
0 |