Autoshape в excel как удалить

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

  • Удалите все автофигуры на активном листе с помощью функции Перейти в Excel
  • Удалите все автофигуры на активном листе с помощью VBA
  • Удалите все автофигуры на листе или в книге с помощью Kutools for Excel

стрелка синий правый пузырь Удалите все автофигуры на активном листе с помощью функции Перейти в Excel

Если есть только один вид объектов — автофигуры на листе, вы можете удалить все автофигуры с помощью Перейти к функции.

1. Нажмите F5 or Ctrl + G для отображения Перейти к диалоговое окно и щелкните Особый.., см. снимок экрана:

2. Проверьте Объекты, А затем нажмите Ok, он выберет все объекты, см. снимок экрана:

3. Затем нажмите Возврат на одну позицию кнопку, чтобы удалить все автофигуры.

Внимание: Объекты содержат автофигуры, изображения, картинки и т. Д. Применение этого метода приведет к удалению других объектов, кроме автофигур, если на листе есть не только объект автофигур.


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

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

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

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

VBA: удалить все фигуры на активном листе.

Sub DeleteShapes ()
Дим Шп как форма
Для каждой детали в ActiveSheet.Shapes
Шп.Удалить
Следующая Шп
End Sub

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

Затем вы увидите, что все фигуры на активном листе быстро удаляются.

Заметки:

1. Этот макрос VBA может удалять только все фигуры на активном листе.

2. Этот макрос VBA может удалять все виды фигур на активном листе, включая изображения, клипы, фигуры, SmartArt, диаграммы, текстовые поля и т. Д.


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

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

Kutools for Excel включает более 300 удобных инструментов Excel. Бесплатная пробная версия без ограничений в течение 30 дней. Получить сейчас.

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

Шаг 2: В Удалить инструменты диалоговое окно, пожалуйста, отметьте Авто формы вариант и отметьте один из вариантов в заглянуть раздел. См. Следующий снимок экрана:

  • Если вы установите флажок Активный лист опция, он удалит все автоматические формы на активном листе;
  • Если вы установите флажок Выбранные листы опция, он удалит все автоматические формы на выбранных листах;
  • Если вы установите флажок Все листы вариант, он удалит все автоматические формы во всей книге.

Шаг 3: нажмите OK, он удалит все автоматические формы.

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


Относительные статьи:

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

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

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, just like other Office products, supports AutoShapes. Although Excel shapes are nice to have for presentation purposes, getting rid of them may become time consuming if your workbook is cluttered with them. This article shows you how to delete Excel shapes (AutoShapes) automatically using VBA.

How to delete Excel shapes (AutoShapes) using VBA

AutoShapes are stored in the Shapes collection under a worksheet object. This means that we can loop through Excel shapes in a worksheet and delete them.

    For Each shp In ActiveSheet.Shapes
        shp.Delete
    Next shp

To delete the AutoShapes from the whole workbook, we need to check every sheet.

    For Each ws In ActiveWorkbook.Worksheets
        For Each shp In ws.Shapes
            shp.Delete
        Next shp
    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 AutoShapes in an active sheet

Module method:

Sub DeleteShapesInActiveWorksheet()
    Dim shp As Shape
    For Each shp In ActiveSheet.Shapes
        shp.Delete
    Next shp
End Sub

Immediate Window method:

For Each shp In ActiveSheet.Shapes: shp.Delete: Next shp

Delete AutoShapes in a workbook

Module method:

Sub DeleteShapesInActiveWorkbook()
    Dim ws As Worksheet
    Dim shp As Shape
    For Each ws In ActiveWorkbook.Worksheets
        For Each shp In ws.Shapes
            shp.Delete
        Next shp
    Next ws
End Sub

Immediate Window method:

For Each ws In ActiveWorkbook.Worksheets: For Each shp In ws.Shapes: shp.Delete: Next shp: Next ws

Мой знакомый прислал мне Excel-файл содержащий порядка 200 строк без формул и связей, и весящий около 28МВ! Для перехода курсора из ячейки в ячейку требовалось несколько секунд. Первое, что я сделал, это удалил всё форматирование, очистил все пустые ячейки. Не сильно помогло. Удалил все данные. Ситуация чуть улучшилась, но четко было видно, что файл Excel тормозит. Задал вопрос в Google – о чудо! – нашел ответ.

GPlay пишет:
Наверное это побочный эффект копирования. Похожая вещь возникает при вставке данных целыми листами или столбцами/строками из файлов, созданных 1С и подобных (ERP) систем: они генерируют в файл «пустые» ячейки (забитые пробелами) и объекты типа Надпись. В итоге со временем файл становится очень большим.
В Excel2003: меню Правка → Перейти → Выделить → Объекты.
В Excel2007: вкладка Главная → Найти и выделить → Выделение группы ячеек → Объекты.
Весь процесс сопровождался долгими лагами, но в итоге выделилась какая-то непонятная ерунда, которую я удалил, после чего торможение пропало.

Скачать статью в формате Word Тормоз

К сожалению, в моем файле оказалось почти 14 000! объектов :(. Чтобы увидеть все объекты, пройдите по меню: вкладка Главная → Найти и выделить → Область выделения:

(чтобы увеличить изображение кликните на нем правой кнопкой мыши и выберите Открыть картинку в новой вкладке)

Часть объектов можно увидеть справа на экране; один объект под номером 13 697 выделен в списке и на экране:

При попытке выделить все объекты Excel зависал (через 30 минут мне надоело, и я снял задачу).

Второе обращение к Google «навело» меня на макрос, предложенный The_Prist. Я его немного модернизировал, и получил:

Sub DeleteAllTextBox()

Dim oSh As Shape

For Each oSh In ActiveSheet.Shapes

oSh.Delete

Next oSh

End Sub

То есть, я решил не выделять все объекты сразу, а запустить макрос, который будет находить объекты по одному и удалять. В моем файле макрос справился с уничтожением 14 000 объектов за 5 минут! 🙂

Прилагаю файл Excel2007, содержащий эти злосчастные 14 000 объектов Пример тормоза

Дополнение от 12 октября 2012 г. Надо заметить, что пост пользуется популярностью — около 500 просмотров в месяц. С одной стороны это приятно . С другой стороны, это минус Microsoft, который не может справиться с такой простой проблемой… Посетители благодарят меня за раскрытие темы, а 10 октября 2012 г. Антон предложил оригинальное решение, основанное на архивной природе современного формата Excel-файлов. О чем я решил более подробно написать отдельно — см. Excel  «тормозит». Что делать? Дубль 2

ГЛАВНАЯ

ТРЕНИНГИ

   Быстрый старт
   Расширенный Excel
   Мастер Формул
   Прогнозирование
   Визуализация
   Макросы на VBA

КНИГИ

   Готовые решения
   Мастер Формул
   Скульптор данных

ВИДЕОУРОКИ

ПРИЕМЫ

   Бизнес-анализ
   Выпадающие списки
   Даты и время
   Диаграммы
   Диапазоны
   Дубликаты
   Защита данных
   Интернет, email
   Книги, листы
   Макросы
   Сводные таблицы
   Текст
   Форматирование
   Функции
   Всякое
PLEX

   Коротко
   Подробно
   Версии
   Вопрос-Ответ
   Скачать
   Купить

ПРОЕКТЫ

ОНЛАЙН-КУРСЫ

ФОРУМ

   Excel
   Работа
   PLEX

© Николай Павлов, Planetaexcel, 2006-2022
info@planetaexcel.ru


Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.

Техническая поддержка сайта

ООО «Планета Эксел»

ИНН 7735603520


ОГРН 1147746834949
        ИП Павлов Николай Владимирович
        ИНН 633015842586
        ОГРНИП 310633031600071 

Удалить Shape, не трогая кнопки в файле

Roman777

Дата: Вторник, 16.02.2016, 13:07 |
Сообщение № 1

Группа: Проверенные

Ранг: Ветеран

Сообщений: 980


Репутация:

127

±

Замечаний:
0% ±


Excel 2007, Excel 2013

Добрый день!
Пытаюсь удалить все шейпы с листа. Но макрос мне удаляет в том числе и все кнопки (Элементы управления формы).
[vba]

Код

Sub ds()
Dim p as Shape
For Each p In ActiveSheet.Shapes
   p.Delete
Next p
End Sub

[/vba]
приношу извинения… запускаю кнопку — она изчезает… я не хочу чтобы она изсчезала… (можно конечно привязаться к координатам, но можно без этого?)
[moder]А почто не нарисовали в файле кучку чего надо и чего не надо удалять?

К сообщению приложен файл:

1_-.xlsm
(22.3 Kb)


Много чего не знаю!!!!

Сообщение отредактировал Roman777Вторник, 16.02.2016, 13:16

 

Ответить

_Boroda_

Дата: Вторник, 16.02.2016, 13:14 |
Сообщение № 2

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

Такой вариант
[vba]

Код

Sub ds()
    Dim p As Shape
    For Each p In ActiveSheet.Shapes
        If p.Type = 1 Then p.Delete
    Next p
End Sub

[/vba]
[vba]

Код

Sub ds()
    Dim p As Shape
    For Each p In ActiveSheet.Shapes
        If p.Type <> 8 Then p.Delete
    Next p
End Sub

[/vba]


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

Roman777

Дата: Вторник, 16.02.2016, 13:22 |
Сообщение № 3

Группа: Проверенные

Ранг: Ветеран

Сообщений: 980


Репутация:

127

±

Замечаний:
0% ±


Excel 2007, Excel 2013

_Boroda_, Спасибо) второй сработал))) А не подскажите, где можно найти полную табличку значений Type для Shape ?


Много чего не знаю!!!!

 

Ответить

Апострофф

Дата: Вторник, 16.02.2016, 13:28 |
Сообщение № 4

Группа: Проверенные

Ранг: Обитатель

Сообщений: 416


Репутация:

117

±

Замечаний:
0% ±


Excel 1997

Цитата Alex_Gur

Наименование параметра – Значение — Описание
————————————————
msoAutoShape — 1 — AutoShape.
msoCallout — 2 — Callout.
msoCanvas — 20 — Canvas.
msoChart — 3 — Chart.
msoComment — 4 — Comment.
msoDiagram — 21 — Diagram.
msoEmbeddedOLEObject — 7 — Embedded OLE object.
msoFormControl — 8 — Form control.
msoFreeform — 5 — Freeform.
msoGroup — 6 — Group.
msoIgxGraphic — 24 — SmartArt graphic
msoInk — 22 — Ink
msoInkComment — 23 — Ink comment
msoLine — 9 — Line
msoLinkedOLEObject — 10 — Linked OLE object
msoLinkedPicture — 11 — Linked picture
msoMedia — 16 — Media
msoOLEControlObject — 12 — OLE control object
msoPicture — 13 — Picture
msoPlaceholder — 14 — Placeholder
msoScriptAnchor — 18 — Script anchor
msoShapeTypeMixed — -2 — Mixed shape type
msoTable — 19 — Table
msoTextBox — 17 — Text box
msoTextEffect — 15 — Text effect

 

Ответить

_Boroda_

Дата: Вторник, 16.02.2016, 13:28 |
Сообщение № 5

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

где можно найти полную табличку значений

В поиске, например

Переводчиком его если, то вот так

Кто вражеский знает — переведите пожалуйста по-нормальному.


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

Roman777

Дата: Вторник, 16.02.2016, 13:35 |
Сообщение № 6

Группа: Проверенные

Ранг: Ветеран

Сообщений: 980


Репутация:

127

±

Замечаний:
0% ±


Excel 2007, Excel 2013

_Boroda_, Апострофф, Спасибо большое))).


Много чего не знаю!!!!

 

Ответить

Апострофф

Дата: Вторник, 16.02.2016, 13:37 |
Сообщение № 7

Группа: Проверенные

Ранг: Обитатель

Сообщений: 416


Репутация:

117

±

Замечаний:
0% ±


Excel 1997

Ещё можно на стандартные имена объектов ориентироваться —
[vba]

Код

Sub ds()
Dim p As Shape
For Each p In ActiveSheet.Shapes
  If Not p.Name Like «CommandButton*» Then p.Delete
Next p
End Sub

[/vba]

 

Ответить

Roman777

Дата: Вторник, 16.02.2016, 13:42 |
Сообщение № 8

Группа: Проверенные

Ранг: Ветеран

Сообщений: 980


Репутация:

127

±

Замечаний:
0% ±


Excel 2007, Excel 2013

Апострофф, Ваш вариант мб и сработает, но с Актив ИКС, а вот с элементом формы у меня её так же удаляет =)
А нет, всё робит… просто имя у объектов юзерформы другое:
[vba]

Код

If Not p.Name Like «Button*»

[/vba]


Много чего не знаю!!!!

Сообщение отредактировал Roman777Вторник, 16.02.2016, 13:49

 

Ответить

Апострофф

Дата: Вторник, 16.02.2016, 13:53 |
Сообщение № 9

Группа: Проверенные

Ранг: Обитатель

Сообщений: 416


Репутация:

117

±

Замечаний:
0% ±


Excel 1997

Тогда[vba]

Код

If Not p.Name Like «Button *» Then p.Delete

[/vba]?
Опоздал :)

Сообщение отредактировал АпостроффВторник, 16.02.2016, 13:55

 

Ответить

Понравилась статья? Поделить с друзьями:
  • Austin how to do things with word
  • Automatic update links disabled excel
  • Aunt and uncle in one word
  • Automatic numbering in word
  • August word of the day