УДАЛИТЬ все картинки на листе

admin

Anabolic Gontarski
Команда форума
Администрация
Доверенный
Новичок
Clip2Net Menu_250606120938.jpeg


1. Открыть редактор макросов — сочетанием Alt + F11
2. Выделить ваш проект левой кнопкой мыши (VBAProject (Ваш проект.xIsx), нажать на нем правой и выбрать: Вставить - Модуль (Insert > Module)
3. В пустом окне нового модуля пишем код:


Код:
Sub DelObject()
For Each i In ActiveSheet.Shapes
i.Delete
Next
End Sub

4. Открыть выполнение макросов — сочетанием Alt + F8
5. Жмем "Выполнить" и смотрим результат

Clip2Net Menu_250606121805.jpeg
 
Последнее редактирование:
Обновлённый макрос, который делает две вещи:


  1. Удаляет все объекты (shapes) на активном листе (включая картинки, кнопки, фигуры и т.д.).
  2. Удаляет все строки, кроме первой — то есть остаётся только строка 1 (обычно с заголовками), а все остальные строки удаляются.
Код:
Sub DeleteAllShapesAndKeepOnlyFirstRow()
    Dim ws As Worksheet
    Dim shp As Shape

    Set ws = ActiveSheet

    ' Delete all shapes (images, charts, buttons, etc.)
    For Each shp In ws.Shapes
        shp.Delete
    Next shp

    ' Delete all rows except the first one
    If ws.Rows.Count > 1 Then
        ws.Rows("2:" & ws.Rows.Count).Delete
    End If
End Sub

Примечания:​


  • После выполнения останется только строка 1.
  • Все данные, формулы, форматирование и объекты ниже первой строки будут удалены.
 
Назад
Сверху