Vba excel удалить объект excel

Программное удаление элементов управления формы с рабочего листа при помощи кода VBA Excel. Метод Delete объекта Shape — синтаксис, примеры.

Метод Delete объекта Shape

Синтаксис метода Delete объекта Shape:

Workbooks("BookName").Worksheets("SheetName").Shapes("ShapeName").Delete

  • BookName – имя рабочей книги вместе с расширением, книга должна быть открыта.
  • SheetName – имя рабочего листа, которое отображается на ярлычке.
  • ShapeName – имя элемента управления формы.

Элементы управления формы имеют два имени: основное на английском языке и альтернативное на русском. Как ни странно, оба этих имени можно использовать в качестве ShapeName в выражении, удаляющем элемент управления с рабочего листа.

Чтобы узнать альтернативное имя на русском языке, необходимо кликнуть правой кнопкой мыши по элементу управления формы. Откроется первое контекстное меню, а в адресной строке отобразится альтернативное имя.

Альтернативное имя кнопки на русском языке

Альтернативное имя кнопки на русском языке

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

Основное имя кнопки на английском языке

Основное имя кнопки на английском языке

Точно так же определяются основные и альтернативные имена других элементов управления формы.

Удаление одного элемента управления

Удаление элемента управления формы с рабочего листа книги, в которой размещен код:

ThisWorkbook.Worksheets("Лист2").Shapes("Button 5").Delete

Worksheets("Лист4").Shapes("Перекл. 3").Delete

ActiveSheet.Shapes("Drop Down 2").Delete

Удаление элемента управления формы с рабочего листа другой открытой книги:

Workbooks("Чеки.xls").Worksheets("Чек №5").Shapes("Кнопка 2").Delete

Удаление всех элементов управления

Удаление всех элементов управления формы всех типов:

Sub Primer_1()

Dim myShap As Shape

  For Each myShap In ActiveSheet.Shapes

    myShap.Delete

  Next

End Sub

Этот код удалит все имеющиеся на листе элементы управления формы.

Удаление всех однотипных элементов управления формы:

Sub Primer_2()

Dim myShap As Shape

  For Each myShap In ThisWorkbook.ActiveSheet.Shapes

    If myShap.Name Like «Button*» Then myShap.Delete

  Next

End Sub

Этот код удалит все имеющиеся на листе элементы, в наименование которых входит подстрока «Button». В данном случае будут удалены все кнопки.

Точно также можно удалить и другие типы элементов управления формы, заменив аргумент оператора Like «Button*» на часть имени другого типа элементов с символом звездочки. Например: «Label*», «Drop Down*», «Check Box*» и т.д.

Смотрите как удалить элементы управления ActiveX с рабочего листа.

Содержание

  1. Метод Delete (Excel Graph)
  2. Все объекты, кроме объекта Range
  3. Синтаксис
  4. Объект Range
  5. Синтаксис
  6. Параметры
  7. Замечания
  8. Пример
  9. Поддержка и обратная связь
  10. Создание и удаление объектов

Метод Delete (Excel Graph)

Метод Delete , как он применяется ко всем объектам в списке Применяется к , кроме объекта Range , а затем к объекту Range .

Все объекты, кроме объекта Range

Применяется ко всем объектам в списке Применяется к , кроме объекта Range .

Удаляет указанный объект.

Синтаксис

expression. Удалить

выражение (обязательно). Выражение, возвращающее один из указанных выше объектов.

Объект Range

Применяется к объекту Range .

Удаляет указанный объект.

Синтаксис

expression. Delete (SHIFT)

выражение (обязательно). Выражение, возвращающее объект Range .

Параметры

Имя Обязательный или необязательный Тип данных Описание
Shift _Дополнительные XlDeleteShiftDirection Используется только с объектами Range . Указывает способ сдвига ячеек для замены удаленных ячеек.

Может быть одной из следующих констант XlDeleteShiftDirection : xlShiftToLeft или xlShiftUp.

Если этот аргумент опущен, Граф решает, как сдвигать ячейки на основе формы указанного диапазона.

Замечания

При удалении объекта Point или LegendKey удаляется весь ряд.

Пример

В этом примере удаляются ячейки A1:D10 в таблице и сдвигаются остальные ячейки влево.

В этом примере заголовок диаграммы удаляется.

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Источник

Создание и удаление объектов

Создание объектов в VBA, раннее и позднее связывание (early/late binding), конструкция CreateObject и ключевое слово New, удаление объектов, ключевое слово Nothing

Создание объекта в VBA может производиться разными способами. Первый, самый простой способ выглядит так:

Dim oApp As Object

Set oApp = CreateObject («Word.Application»)

Это — так называемое позднее связывание (late binding). Мы вначале объявляем переменную oApp с возможностью ссылаться на любой объект, а затем присваиваем ей ссылку на создаваемый нами объект Word.Application. Такое позднее связывание хуже с точки зрения производительности и расхода оперативной памяти, кроме того, редактор Visual Basic отказывается нам подсказывать, какие свойства и методы есть у этого объекта. Поэтому позднее связывание есть смысл использовать только тогда, когда вы собираетесь хранить в этой переменной, согласно логике вашей программы, объекты разных типов. В остальных ситуациях предпочтительнее использовать раннее связывание (early binding):

Dim oApp As Word.Application

Set oApp = CreateObject(«Word.Application»)

В этом случае мы сразу присваиваем переменной oApp тип Word.Application, а потом присваиваем ей ссылку на создаваемый нами объект. Можно обойтись и без второй строки:

Dim oApp As New Word.Application

Однако ключевое слово New не может использоваться при создании зависимых объектов, с ключевым словом WithEvents и при создании переменных встроенных типов ( String, Int и т.п.), поэтому иногда необходимо будет использовать только объявление с Set. Кроме того, в языке VBScript синтаксической конструкции New нет, поэтому если вы собираетесь использовать оба языка, лучше сразу привыкать к конструкции CreateObject().

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

Dim oApp As New Word.Application

Dim oDoc As Word.Document

Set oDoc = oApp.Documents(1)

В этом примере мы вначале создаем объект Word.Application, затем при помощи метода Add() коллекции Documents создаем в этой коллекции новый документ, потом получаем на него ссылку для переменной oDoc, а потом вызываем метод SaveAs() созданного нами объекта документа.

Удаление объектов производится очень просто:

Set объектная_переменная = nothing

В принципе, объект можно и не удалять — он будет удален автоматически после того, как последняя объектная переменная, которая на него ссылается, уйдет за область видимости (обычно это значит, что закончит работу процедура, в которой он используется). Однако явное удаление объектов — это «правило хорошего тона», которое позволит вам при создании серьезных приложений избежать конфликтов имен и перерасхода ресурсов.

Еще один момент, связанный с удалением объектов. Не все объекты можно удалить при помощи синтаксической конструкции Set объектная_переменная = nothing. Некоторые объекты требуют, чтобы их удаляли из памяти специальным способом. Например, объект приложения Word, который мы создавали в нашем примере, хочет, чтобы для его удаления из памяти был обязательно вызван его метод Quit() — иначе он выдаст сообщение об ошибке.

Методы объекта

Методы объектов VBA, способы вызова методов, работа с параметрами

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

Метод — именованный набор действий, которые может выполнять данный объект. Он может выполнять какие-либо операции, принимать и возвращать значения. Существует три способа вызова метода:

· Самый простой способ выглядит так:

При этом не возвращаются и не принимаются никакие параметры.

объект.метод параметр1 [, параметр2, … , параметр]

Параметры передаются путем перечисления через запятую, скобки не используются. Например:

в этом случае мы игнорируем то, что возвращает метод и поэтому кавычки не нужны.

моя_переменная = объект.метод (параметр1 [, параметр2, … , параметр n ])

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

Свойства объекта

Свойства объектов VBA, присвоение значений свойствам, типы свойств

Свойства объекта — это возможность получения доступа к информации, которая хранится в этом объекте. Через свойства можно получить эту информацию или ее изменить.

Извлечь информацию можно при помощи синтаксиса вида

Изменить информацию в объекте при помощи свойства можно так:

oApp.ActivePrinter = «HP LaserJet 4»

Значение может быть обычной константой (10 или «HP LaserJet 4»), простым выражением (10 + 5), свойством другого объекта (Объект1.Свойство = Объект2.Свойство), возвращаемым значением какого либо метода: Объект.Свойство = Объект2.Метод().

Конечно, значения не всех свойств можно изменять. Некоторые свойства доступны только для чтения, другие — для чтения и записи, третьи (очень редко) — только для записи.

4.5 События объекта и объявление WithEvents

События объектов VBA, объявление WithEvents

Событие — это действие, распознаваемое объектом, для которого можно запрограммировать отклик. Например, в качестве события можно использовать открытие или закрытие документа, щелчок мыши, нажатие клавиши. События запрятаны вглубь объектов и настоятельно рекомендуется их использовать уже рассмотренным нами способом — через выбор нужного объекта и его события в окне редактора кода Visual Basic. Однако в некоторых ситуациях события для объектов не появляются в окне редактора кода (например, это справедливо для очень важного объекта Application). В этом случае необходимо явно объявить этот объект с событиями — при помощи ключевого слова WithEvents, например так:

Public WithEvents App As Word.Application

Делается это в области объявлений модуля (Declarations). После этого в редакторе кода Visual Basic появляется новый объект App со всеми необходимыми событиями.

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

Просмотр объектов

Просмотр библиотек классов VBA, применение Object Browser

Элементарные знания о том, как создавать объекты и использовать их свойства, методы и события, у нас уже есть. Однако может возникнуть вопрос: а как найти нужный объект и как определить, какие свойства, методы и события в нем имеются?

Основной инструмент для этой цели — Object Browser, утилита, которая интегрирована в редактор кода VBA. Чтобы им воспользоваться, необходимо в окне редактора кода нажать на кнопку и выбрать нужную библиотеку классов. Классы показываются как прямоугольники с разноцветными «кирпичиками», методы — как летящий зеленый предмет, свойства — как надпись, на которую указывает рука, события — значок молнии. Свои значки (не берусь их описывать) предусмотрены для модулей и перечислений. Если нужно просмотреть библиотеку типов, которой еще нет в списке Object Browser, необходимо добавить ссылку на нее через меню Tools -> References или пункт References в контекстном меню самого Object Browser. Однако необходимо учесть:

· для полноценной работы с Object Browser необходимо разбираться в объектно-ориентированном программировании. Например, если мы просмотрим класс CommandButton из библиотеки MSForms (то есть класс кнопки на форме), то увидим там далеко не все его свойства, методы и события. Причина в том, что многие свойства, методы и события этот класс наследует от класса Control — общего прародителя большинства элементов управления VBA;

· при помощи Object Browser вы сможете узнать только названия методов, свойств и событий и получить информацию о принимаемых параметрах и возвращаемых значениях. Получить информацию о том, что делает данный метод, что возвращает свойство, когда срабатывает событие, при помощи Object Browser нельзя (иногда можно догадаться по названию). Эту информацию можно найти только в справке по данной библиотеке классов.

Объектные модели

Встроенные объектные модели Windows, объектные модели Windows Script Host (WSH), Scripting Runtime, ADO, SQLDMO, CDO, WMI, ADSI, Windows Explorer, Internet Explorer

Наборы объектов, которые предназначены для выполнения задач, относящихся к одной области, называются объектными моделями. Например, в объектной модели Excel предусмотрены объекты, представляющие само приложение Excel, рабочую книгу, отдельные листы на этой рабочей книге, наборы ячеек, диаграммы и т.п. В последней части этой книги подробно разобраны объектные модели приложений Microsoft Office: Word, Excel, Access, PowerPoint, Project, Outlook. Однако при программировании на языке VBA и создании своих собственных приложений ограничиваться только объектными моделей приложений Office совсем не обязательно.

В операционную систему Windows встроено множество других объектных моделей, применение которых может очень сильно расширить возможности ваших приложений. Ниже приведен список дополнительных объектных моделей, которые встроены в Windows или другие продукты Microsoft (об этом будет говориться отдельно), которыми я пользуюсь очень активно. Справку по большинству этих объектных моделей можно найти в MSDN.

Чтобы использовать возможности этих объектных моделей своей программе, необходимо добавить на нее ссылку в ваш проект. Делается это очень просто: в окне редактора Visual Basic выбираете Tools(Сервис) -> References (Ссылки) и выбираете нужную библиотеку.

Вот перечень наиболее интересных с точки зрения применения в своих приложениях объектных моделей:

· Windows Script Host Object Model (wshom.exe) — эта библиотека предназначена для автоматизации работы администраторов. Она обеспечивает возможности программной работы с сетью, принтерами, реестром, ярлыками, журналом событий, позволяет запускать внешние приложения и передавать в них нажатия клавиш и консольные строки и т.п. Есть на всех компьютерах с Windows 2000, XP, 2003 (в качестве необязательного компонента имеется и в Windows 98 Second Edition и Windows NT 4.0);

· Microsoft Scripting Runtime (scrrun.dll) — еще одна библиотека для администраторов. Главное ее богатство — очень удобный (и при этом простой) набор классов для работы с файловой системой — дисками, каталогами, файлами, содержимым текстовых файлов и т.п. Идет в одном наборе с Windows Script Host Object Model;

· Microsoft ADO (набор файлов, начинающийся на msado) — классы для работы с базами данных. Эта библиотека подробно рассмотрена в главе 8 этой книги. Также имеется на всех без исключения компьютерах под управлением Windows 2000, Windows XP и Windows 2003 Server (обычно сразу несколько версий);

· Microsoft SQLDMO Object Library (файл sqldmo.dll) — набор классов для получения полного контроля над Microsoft SQL Server (возможность производить любые административные операции, выполнять запросы и т.п.). Имеется только на компьютерах, на которых установлен SQL Server версий 7.0, 2000 или 2005. В SQL Server 2005 она разбита на несколько частей — SMO (SQL Server Management Objects), RMO (Replication Management Objects) и AMO (Analysis Management Objects);

· Microsoft CDO (версии 1.21, for NTS версии 1.2, for Windows 2000 версии 1.0) — файлы olemsg.dll, cdonts.dll, cdosys.dll) — наборы классов для работы с электронной почтой . Можно использовать для создания и отправки своих почтовых сообщений, просмотра новых сообщений в почтовом ящике и т.п. Есть на всех компьютерах под управлением Windows 2000, Windows XP и Windows 2003 Server. На компьютерах с более старыми операционными системами обычно также имеется, поскольку эта библиотека устанавливается вместе с Microsoft Office.

· Microsoft WMI Scripting v1.1 (wbemdisp.tlb) — расширение возможностей программ через программный интерфейс WMI (Windows Management Instrumentarium). Возможности — совершенно невероятные: от управления скоростью вращения вентилятора (и вообще возможности работы со всеми устройствами, про которые знает операционная система) до установки программного обеспечения, запуска процессов на удаленном компьютере, управления службами и т.п. В ней реализованы очень мощные возможности работы с событиями. Например, можно выполнять какой-либо код в ответ на запуск или завершение работы программы с определенным именем на удаленном компьютере, в ответ на запуск или удаление файла в каталоге, появления записи в журнале событий и т.п. Эта объектная модель (вместе со службой WMI) встроена во все компьютеры под управлением Windows 2000, Windows XP и Windows 2003 Server.

· Active Directory Scripting Interface, ADSI (adsldp.dll, wldap32.dll, adsnt.dll, adsnds.dll, adsnw.dll) — взаимодействие с объектами в каталогах Active Directory, NT, NetWare, то есть работа с учетными записями пользователей, группами, объектами компьютеров, принтеров и т.п. Также встроена в операционные системы Windows 2000, Windows XP и Windows 2003 Server (как в серверные, так и в пользовательские версии);

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

· объектная модель Internet Explorer. Очень мощное и удобное средство для организации взаимодействия с пользователем. Позволяет показывать пользователю Web-страницы (последовательно их меняя, можно организовать «мультфильм»), флэш-ролики, демонстрировать видео и аудиоклипы и т.п. Очень удобна эта объектная модель и для сбора информации от пользователей при помощи скриптов и форм HTML, хотя в Microsoft Office для этой цели чаще всего используются обычные графические формы (о которых рассказывается в следующей главе).

Для тех, кто никогда не работал с этими объектными моделями, их применение может показаться темным лесом, но на практике все не так страшно. Они изначально создавались таким образом, чтобы с ними удобно было работать пользователям, не являющимися профессиональными программистами (например, администраторам). По опыту слушателей учебного курса «Программирование для администраторов», где эти рассматриваются эти объектные модели, освоить их можно очень быстро.

Не нашли, что искали? Воспользуйтесь поиском:

Источник

What This VBA Code Does

The following VBA code will provide you with a way to delete all shapes from your currently selected spreadsheet. You will also learn how to further manipulate this code to filter out certain shape types from deletion.

VBA Code:

Excluding Certain Shapes

In most cases, you will want to exclude certain shape types from being deleted within your code. Most commonly, you may not want to remove cell comments or charts as (believe it or not) they are considered shapes! You can add an IF statement to test each shape’s type before deleting it in your loop. The following code shows how you can write your VBA:

Below is a table of all the msoShapeType properties that you can use in your IF statement to exclude certain shape types from being deleted. You can use the full name or the enumeration in your code.

Using VBA Code Found On The Internet

Now that you’ve found some VBA code that could potentially solve your Excel automation problem, what do you do with it? If you don’t necessarily want to learn how to code VBA and are just looking for the fastest way to implement this code into your spreadsheet, I wrote an article (with video) that explains how to get the VBA code you’ve found running on your spreadsheet.

Getting Started Automating Excel

Are you new to VBA and not sure where to begin? Check out my quickstart guide to learning VBA. This article won’t overwhelm you with fancy coding jargon, as it provides you with a simplistic and straightforward approach to the basic things I wish I knew when trying to teach myself how to automate tasks in Excel with VBA Macros.

Also, if you haven’t checked out Excel’s latest automation feature called Power Query, I have put together a beginner’s guide for automating with Excel’s Power Query feature as well! This little-known built-in Excel feature allows you to merge and clean data automatically with little to no coding!

How Do I Modify This To Fit My Specific Needs?

Chances are this post did not give you the exact answer you were looking for. We all have different situations and it’s impossible to account for every particular need one might have. That’s why I want to share with you: My Guide to Getting the Solution to your Problems FAST! In this article, I explain the best strategies I have come up with over the years to get quick answers to complex problems in Excel, PowerPoint, VBA, you name it

I highly recommend that you check this guide out before asking me or anyone else in the comments section to solve your specific problem. I can guarantee that 9 times out of 10, one of my strategies will get you the answer(s) you are needing faster than it will take me to get back to you with a possible solution. I try my best to help everyone out, but sometimes I don’t have time to fit everyone’s questions in (there never seem to be quite enough hours in the day!).

I wish you the best of luck and I hope this tutorial gets you heading in the right direction!

Chris
Founder, TheSpreadsheetGuru.com

Удалить объекты.

RAN

Дата: Вторник, 15.10.2013, 21:32 |
Сообщение № 1

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

Приветствую.
Имеется файл с 100 объектов. Что то видно, что то нет.
Требуется удалить все, кроме 2.
Как это сделать одним махом?
Через область выделения они удаляются только поштучно, через выбор объектов, если и можно, не соображу как.


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RANВторник, 15.10.2013, 21:32

 

Ответить

KuklP

Дата: Вторник, 15.10.2013, 21:50 |
Сообщение № 2

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

Ранг: Старожил

Сообщений: 2369


Репутация:

486

±

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


2003-2010

Как это сделать одним махом?

Что это значит? Без цикла? Это вряд ли. А в цикле за один проход, проверяя имя.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728

 

Ответить

RAN

Дата: Вторник, 15.10.2013, 21:51 |
Сообщение № 3

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

Какой такой цикл! Мышкой!


Быть или не быть, вот в чем загвоздка!

 

Ответить

KuklP

Дата: Вторник, 15.10.2013, 21:55 |
Сообщение № 4

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

Ранг: Старожил

Сообщений: 2369


Репутация:

486

±

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


2003-2010

Тебе вручную? Выделил все, с контролом убрал из выделения нужные. Del.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728

 

Ответить

_Boroda_

Дата: Вторник, 15.10.2013, 21:56 |
Сообщение № 5

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

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

Сообщений: 16618


Репутация:

6465

±

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


2003; 2007; 2010; 2013 RUS

Главная — Найти и выделить — Выделение группы ячеек — Объекты
Потом, держа Контрл, топнуть мышой на те, которые не нужно удалять и нажать Делит

Блин, а я макрос рисую, как все, кроме 2-х грохнуть. предупреждать надо, что

А «тыкать мышкой» будет несколько затруднительно, ибо

Что то видно, что то нет.


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

 

Ответить

AndreTM

Дата: Вторник, 15.10.2013, 21:56 |
Сообщение № 6

Группа: Друзья

Ранг: Старожил

Сообщений: 1762


Репутация:

498

±

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


2003 & 2010

Выбор объектов.
Ctrl+A
Ctrl+<потыкать в нужные>
Del


Skype: andre.tm.007
Donate: Qiwi: 9517375010

 

Ответить

RAN

Дата: Вторник, 15.10.2013, 21:58 |
Сообщение № 7

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

Воистину так!


Быть или не быть, вот в чем загвоздка!

 

Ответить

RAN

Дата: Вторник, 15.10.2013, 22:00 |
Сообщение № 8

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

Блин, а я макрос рисую, как все, кроме 2-х грохнуть.

:D :D
Думаешь сам не смогу? :) Чай не формула. ;)

PS звиняюсь, что в заблуждение ввел, думал отсюда

Через область выделения они удаляются только поштучно, через выбор объектов, если и можно, не соображу как.

все понятно.


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RANВторник, 15.10.2013, 22:03

 

Ответить

_Boroda_

Дата: Вторник, 15.10.2013, 22:02 |
Сообщение № 9

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

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

Сообщений: 16618


Репутация:

6465

±

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


2003; 2007; 2010; 2013 RUS

Думаешь сам не смогу? :) Чай не формула. ;)

Сможешь, конечно. Только я хотел без цикла, сразу.


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

 

Ответить

RAN

Дата: Вторник, 15.10.2013, 22:05 |
Сообщение № 10

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

Только я хотел без цикла, сразу.

А вот это любопытно.
Даже не код, алгоритм.


Быть или не быть, вот в чем загвоздка!

 

Ответить

RAN

Дата: Вторник, 15.10.2013, 22:08 |
Сообщение № 11

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

А «тыкать мышкой» будет несколько затруднительно

Тыкать мышкой можно и в область выделения, оказывается. Там все видно.


Быть или не быть, вот в чем загвоздка!

 

Ответить

_Boroda_

Дата: Вторник, 15.10.2013, 22:12 |
Сообщение № 12

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

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

Сообщений: 16618


Репутация:

6465

±

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


2003; 2007; 2010; 2013 RUS

[vba]

Код

Sub tt()
ActiveSheet.Shapes.Range(Array(«Rectangle 32», «Rectangle 33»)).Select
Selection.Copy
ActiveSheet.DrawingObjects.Select
Selection.Delete
ActiveSheet.Paste
End Sub

[/vba]
осталось перед копированием закинуть в переменную месторасположение первого объекта и при вставке указать, куда его вставлять (второй должен вставиться автоматически)


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

 

Ответить

RAN

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

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

На хвост намотал. Мяу. :)


Быть или не быть, вот в чем загвоздка!

 

Ответить

Saff

Дата: Пятница, 23.01.2015, 07:37 |
Сообщение № 14

Группа: Пользователи

Ранг: Новичок

Сообщений: 44

а как удалить объекты как то ещё? если при попытке выделить через f5 все объекты excel, зависает на вечно. ) файл должен весить около 300кб, а весит 4.5 мб
[moder]Вопрос не по теме топика. Создайте свою тему. Тема закрыта. Причина: нарушение Правил форума п.п. 4, 5q[/moder]

Сообщение отредактировал SaffПятница, 23.01.2015, 07:38

 

Ответить

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

офисный дно

Понравилась статья? Поделить с друзьями:
  • Vba excel умножение ячеек в excel
  • Vba excel удалить непечатаемые символы
  • Vba excel фильтр несколько условий
  • Vba excel удалить лист по имени
  • Vba excel фильтр на дату