Программное удаление элементов управления формы с рабочего листа при помощи кода 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 с рабочего листа.
I’ve got a bit of code that creates a Save button on a worksheet (held in the wsReport
variable), but it doesn’t remove previous buttons. Over time, they tend to build up. Is there any way to do something like this?
wsReport.Buttons.All.Delete
(Not right, obviously, but gives an idea of what I’m looking for.)
asked Feb 15, 2016 at 12:25
1
See the code below:
Sub DeleteAllShapes()
ActiveSheet.Shapes.SelectAll
Selection.Delete
End Sub
answered Aug 28, 2019 at 13:08
If somebody found this question, but needs to delete only one button, this helped me:
ActiveSheet.Shapes("my_button_name").Delete
answered Jun 26, 2020 at 9:12
elano7elano7
1,3161 gold badge16 silver badges16 bronze badges
There’s an easier method that doesn’t use VB:
- Click the Developer tab
- Click Design Mode
- Click on any button in the worksheet
- Press Ctrl + A to select all buttons in the worksheet
- Press Delete
answered Oct 16, 2017 at 19:01
1
В этой статье говорится об удалении всех кнопок управления формой или командных кнопок с активного листа в Excel.
Удалите все кнопки, включая кнопки управления формой и командные кнопки, выбрав их все
Удалите все кнопки, включая кнопки управления формой и командные кнопки, с помощью кода VBA
Удалите все кнопки управления формой или командные кнопки с кодом VBA
Удалите все кнопки, включая кнопки управления формой и командные кнопки, выбрав их все
Чтобы удалить все кнопки (включая кнопки управления формой и кнопки команд) с активного листа, сделайте следующее.
1. Включите режим дизайна, нажав Застройщик > Режим проектирования. Смотрите скриншот:
2. Выберите одну из командных кнопок и нажмите Ctrl + A клавиши для выбора всех кнопок на текущем листе.
3. нажмите Удалить для удаления всех выбранных кнопок.
Внимание: Если на этом листе есть другие объекты, они также будут выбраны.
Удалите все кнопки, включая кнопки управления формой и командные кнопки, с помощью кода VBA
Кроме того, вы можете применить ниже сценарий VBA, чтобы удалить все кнопки с текущего рабочего листа в Excel.
1. Откройте рабочий лист, содержащий кнопки, которые вы хотите удалить, а затем нажмите другой + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.
2. в Microsoft Visual Basic для приложений окна, нажмите Вставить > Модули, затем скопируйте ниже код VBA в окно кода.
Код VBA: удалить все кнопки с активного листа
Sub Clear_ButtonsActiveSheet()
Dim I As Long
Dim xOLE As Object
On Error Resume Next
ActiveSheet.Buttons.Delete
For Each xOLE In ActiveSheet.OLEObjects
If TypeName(xOLE.Object) = "CommandButton" Then
xOLE.Delete
End If
Next
End Sub
3. Press the F5 key to run the code. Then all buttons including form control buttons and command buttons are removed from current worksheet immediately.
Remove all form control buttons or command buttons with VBA code
If you only want to remove all form control buttons or all command buttons from active sheet. You can try the below VBA codes to achieve it.
1. Open the worksheet contains the buttons you want to remove, and then press the Alt + F11 keys to open the Microsoft Visual Basic for Applications window.
2. In the Microsoft Visual Basic for Applications window, click Insert > Module, then copy below VBA code into the Code window.
VBA code: Remove all form control buttons from active sheet
Sub Clear_ButtonsActiveSheet()
ActiveSheet.Buttons.Delete
End Sub
VBA code: Remove all command buttons from active sheet
Sub Clear_ButtonsActiveSheet()
Dim xOLE As Object
On Error Resume Next
For Each xOLE In ActiveSheet.OLEObjects
If TypeName(xOLE.Object) = "CommandButton" Then
xOLE.Delete
End If
Next
End Sub
3. Press the F5 key to run the code.
Then all form control buttons or all command buttons are removed from current worksheet immediately.
Related articles:
- How to insert a blank new row automatically by Command Button in Excel?
- How to use Command Button to save active worksheet as PDF file in Excel?
- How to update or insert (current) date and time by a Command Button in Excel?
- How to use a Command Button to change a specified cell value in Excel?
The Best Office Productivity Tools
Kutools for Excel Solves Most of Your Problems, and Increases Your Productivity by 80%
- Reuse: Quickly insert complex formulas, charts and anything that you have used before; Encrypt Cells with password; Create Mailing List and send emails…
- Super Formula Bar (easily edit multiple lines of text and formula); Reading Layout (easily read and edit large numbers of cells); Paste to Filtered Range…
- Merge Cells/Rows/Columns without losing Data; Split Cells Content; Combine Duplicate Rows/Columns… Prevent Duplicate Cells; Compare Ranges…
- Select Duplicate or Unique Rows; Select Blank Rows (all cells are empty); Super Find and Fuzzy Find in Many Workbooks; Random Select…
- Exact Copy Multiple Cells without changing formula reference; Auto Create References to Multiple Sheets; Insert Bullets, Check Boxes and more…
- Extract Text, Add Text, Remove by Position, Remove Space; Create and Print Paging Subtotals; Convert Between Cells Content and Comments…
- Super Filter (save and apply filter schemes to other sheets); Advanced Sort by month/week/day, frequency and more; Special Filter by bold, italic…
- Combine Workbooks and WorkSheets; Merge Tables based on key columns; Split Data into Multiple Sheets; Batch Convert xls, xlsx and PDF…
- More than 300 powerful features. Supports Office / Excel 2007-2021 and 365. Supports all languages. Easy deploying in your enterprise or organization. Full features 30-day free trial. 60-day money back guarantee.
Read More… Free Download… Purchase…
Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier
- Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
- Open and create multiple documents in new tabs of the same window, rather than in new windows.
- Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!
Read More… Free Download… Purchase…
Comments (1)
No ratings yet. Be the first to rate!
aws1967 Пользователь Сообщений: 32 |
Здравствуйте все. |
Слэн Пользователь Сообщений: 5192 |
а по надписи на ней? или alternativetext.. |
ber$erk Пользователь Сообщений: 2735 |
#3 18.07.2013 15:17:42
Учимся сами и помогаем другим… |
||
aws1967 Пользователь Сообщений: 32 |
#4 18.07.2013 15:25:38 Это работает, только у меня есть на листе и нужные кнопки… В итоге удалились все, но за идею спасибо. Попробую исключить нужные и удалить оставшиеся. Хотя конечно правильнее бы знать имя конкретного объекта…
По надписи не идентифицируется. |
||
Слэн Пользователь Сообщений: 5192 |
#5 18.07.2013 15:33:25
почему? что все кнопки с одинаковыми надписями? как же вы ими пользуетесь? Живи и дай жить.. |
||
aws1967 Пользователь Сообщений: 32 |
По тексту, который виден на кнопке программа ее не находит. В системе она хранится как «Button N», и где это переназначить я найти не могу. В интерфейсе я могу только переназначить макрос и изменить текст… |
ber$erk Пользователь Сообщений: 2735 |
#7 18.07.2013 15:40:12 Согласен со Слэном: на копируемом листе зайдите в свойства кнопки и укажите в поле «Замещающий текст» что-нибудь типа «меткаДляУдаления». А в коде
Учимся сами и помогаем другим… |
||
Слэн Пользователь Сообщений: 5192 |
#8 18.07.2013 15:48:33 почему же..
Изменено: Слэн — 18.07.2013 15:49:44 Живи и дай жить.. |
||
aws1967 Пользователь Сообщений: 32 |
ber$erk, это понятно, только я не могу найти это свойство кнопки. На закладке Разработчик есть кнопка Свойства. По ней открываются свойства листа. Кнопок там нет. Выделение кнопки мышью тоже результата не дает. Значит что-то не так делаю… Что не так? |
ber$erk Пользователь Сообщений: 2735 |
ПКМ на кнопке — «формат объекта» Учимся сами и помогаем другим… |
aws1967 Пользователь Сообщений: 32 |
Слэн, Ваш код у меня не заработал — не удаляет ничего. Наверное Вы пишите про Элементы ActiveX, а у меня вставлена кнопка из Элементы управления формы. |
aws1967 Пользователь Сообщений: 32 |
#12 18.07.2013 16:13:23
[CODE][/CODE]На закладке Свойства — только свойства привязки объекта к фону и печать, на закладке Веб — Замещающий текст и он совпадает с названием кнопки, которое программно не определяется. На закладках Шрифт, Выравнивание, Размер, Защита и Поля для данного случая ничего полезного нет. |
||
ber$erk Пользователь Сообщений: 2735 |
на закладке «Замещающий текст» напишите «меткаДляУдаления». Скопируйте лист. На новом листе запустите мой код Учимся сами и помогаем другим… |
Igor67 Пользователь Сообщений: 3729 |
#14 18.07.2013 16:33:23 Проверил, все нормально для кнопок ФОРМЫ. Просто Слэн на коленке видно писал для примера и не провреил орфографию
|
||
aws1967 Пользователь Сообщений: 32 |
#15 18.07.2013 16:40:14
Все заработало. Большое спасибо. |
||
Ivanov Petr Пользователь Сообщений: 43 |
#16 19.07.2013 15:29:34 aws1967,, а не могли бы… Изменено: Ivanov Petr — 19.07.2013 16:47:04 |
Удалить все кнопки (елементы управления формой):[vba]
Код
Sub delAll()
ActiveSheet.Buttons.Delete
End Sub
[/vba]
Удалить все кнопки (активИкс):[vba]
Код
Sub dell()
For Each ob In ActiveSheet.OLEObjects
If ob.Name Like «CommandButton*» Then
ob.Delete
End If
Next
End Sub
[/vba]
Удалить по названию:
[vba]
Код
Sub del()
Dim i&, tx$
tx = InputBox(«Введите подпись кнопки для удаления»)
On Error Resume Next
For i = 1 To ActiveSheet.OLEObjects.Count
If ActiveSheet.OLEObjects.Item(i).Object.Caption = tx Then
ActiveSheet.OLEObjects.Item(i).Delete
End If
Next
For i = 1 To ActiveSheet.Buttons.Count
If ActiveSheet.Buttons.Item(i).Caption = tx Then
ActiveSheet.Buttons.Item(i).Delete
End If
Next
End Sub
[/vba]
-
#2
Code:
Sub Clear_Buttons()
Dim i As Integer
If ActiveSheet.ProtectContents = True Then
MsgBox "The Current Workbook or the Worksheets which it contains are protected." & vbLf & " Please resolve these issues and try again."
End If
On Error Resume Next
For i = 1 To 10000
ActiveWorkbook.sheets(i).Buttons.Delete
Next i
Test on a COPY of your workbook, but I think this is what you need. I’ve found that even with 10,000 loops, it runs pretty quick.
-
#3
Code:
Sub Clear_Buttons() Dim i As Integer If ActiveSheet.ProtectContents = True Then MsgBox "The Current Workbook or the Worksheets which it contains are protected." & vbLf & " Please resolve these issues and try again." End If On Error Resume Next For i = 1 To 10000 ActiveWorkbook.sheets(i).Buttons.Delete Next i End Sub
Test on a COPY of your workbook, but I think this is what you need. I’ve found that even with 10,000 loops, it runs pretty quick.
It just occured to me that you said on a SHEET, not in a whole workbook. If that’s the case, try this instead:
Code:
Sub Clear_Buttons()
Dim i As Integer
If ActiveSheet.ProtectContents = True Then
MsgBox "The Current Workbook or the Worksheets which it contains are protected." & vbLf & " Please resolve these issues and try again."
End If
On Error Resume Next
ActiveSheet.Buttons.Delete
End Sub
Last edited: Jan 31, 2012
Ermak27 4 / 4 / 0 Регистрация: 16.01.2013 Сообщений: 1,228 |
||||
1 |
||||
Удалить кнопки в контекстном меню24.01.2013, 01:32. Показов 7042. Ответов 25 Метки нет (Все метки)
Подскажите пожалуйста я решил удалить лишнии кнопки в меню, покопался в инете и нашел как это делает но почему ту у меня выдает ошибку, что я не так делаю?
Подскажите можно поставить пароль на свой созданный раздел в меню, если я нажимаю на свой раздел в меню чтобы он запрашивал пароль, после чего он откроется. Добавлено через 4 часа 44 минуты
0 |
4 / 4 / 0 Регистрация: 16.01.2013 Сообщений: 1,228 |
|
28.01.2013, 18:18 [ТС] |
2 |
Подскажите как удалить кнопку?
0 |
1337 / 308 / 74 Регистрация: 13.11.2008 Сообщений: 635 |
|
28.01.2013, 21:56 |
3 |
Вы пытаетесь удалить не кнопку, а все меню «Вид». Попробуйте так: Код Application.CommandBars("View").Controls("Строка &формул").Delete А вообще в версиях, начиная с 2007 это можно делать через XML, но со своими нюансами. Придется через XML восстанавливать вид каждой вкладки(без ненужных Вам команд), т.к. манипулировать стандартными не получится. Добавлено через 49 минут Код CommandBars("Cell").Controls("В&ырезать").Delete
1 |
4 / 4 / 0 Регистрация: 16.01.2013 Сообщений: 1,228 |
|
29.01.2013, 00:23 [ТС] |
4 |
Вы пытаетесь удалить не кнопку, а все меню «Вид». Попробуйте так: Код Application.CommandBars("View").Controls("Строка &формул").Delete Добавлено через 49 минут Код CommandBars("Cell").Controls("В&ырезать").Delete А если я добавить хочу тогда как?
0 |
1337 / 308 / 74 Регистрация: 13.11.2008 Сообщений: 635 |
|
29.01.2013, 08:23 |
5 |
Добавить Код CommandBars("Cell").Controls.Add Чтобы работало только для одного документа присмотритесь к событиям книги: Workbook_Activate, Workbook_Deactivate, Workbook_Open, Workbook_Beforeclose
1 |
Ermak27 4 / 4 / 0 Регистрация: 16.01.2013 Сообщений: 1,228 |
||||||||
29.01.2013, 15:33 [ТС] |
6 |
|||||||
The_Prist, Я здесь нашел пример один, не могу до конца разобраться как сделать, подскажите пожалуйста Вот пример кода
Тут как я понял Range берет ячейки из Диспетчера имен, а как мне сделать чтобы он брал с диапазона
Это я взял со своего кода
0 |
1337 / 308 / 74 Регистрация: 13.11.2008 Сообщений: 635 |
|
29.01.2013, 20:22 |
7 |
Скорее Вам надо через Intersect: Код Private Sub Worksheet_BeforeRightClick(ByVal Target As Excel.Range, Cancel As Boolean) If Not Intersect(Target, Range("a" & rrow & ":eq" & Cells(rrow, 6).End(xlDown).Row)) is Nothing Then CommandBars("MyShortcut").ShowPopup Cancel = True End If End Sub
1 |
Ermak27 4 / 4 / 0 Регистрация: 16.01.2013 Сообщений: 1,228 |
||||||||||||||
30.01.2013, 01:11 [ТС] |
8 |
|||||||||||||
The_Prist, что то у меня не получается Вот код я ставлю его на Лист
Этот код ставлю ЭтаКнига
И в модуль ставлю этот код
Не понимаю почему не работает меню мое, можете посмотреть я прикрепил архив, пароль к файл 111222 Вложения
0 |
1337 / 308 / 74 Регистрация: 13.11.2008 Сообщений: 635 |
|
30.01.2013, 09:40 |
9 |
Вобще-то все нормально работает. За исключением того, что у Вас переменная rrow нигде не объявлена и значение ей тоже нигде не назначается. Поэтому получаете законную ошибку, т.к. диапазон не может начинаться с нулевой строки. Должна быть минимум 1. Код If Not Intersect(Target, Range("a11:eq" & Cells(Rows.Count, 6).End(xlDown).Row)) Is Nothing Then CommandBars("MyShortcut").ShowPopup Cancel = True End If
0 |
4 / 4 / 0 Регистрация: 16.01.2013 Сообщений: 1,228 |
|
30.01.2013, 13:08 [ТС] |
10 |
The_Prist, Я заменил на ваш код все равно не отображается мое меню
0 |
1337 / 308 / 74 Регистрация: 13.11.2008 Сообщений: 635 |
|
30.01.2013, 13:30 |
11 |
А Вы по какому событию его видеть хотите? У Вас сейчас меню всплывает при двойном клике на ячейке ниже 10 строки.
1 |
4 / 4 / 0 Регистрация: 16.01.2013 Сообщений: 1,228 |
|
30.01.2013, 14:33 [ТС] |
12 |
The_Prist, Все равно не получается, мне нужно чтобы выделяю строчку ниже 10 нажимаю на правую кнопку мышки и у меня отображается только мое меню
0 |
The_Prist 1337 / 308 / 74 Регистрация: 13.11.2008 Сообщений: 635 |
||||
30.01.2013, 15:11 |
13 |
|||
Эх… Ну Вы читали хоть, что я написал? У Вас и не появится меню, т.к. Вы повесили его появление на событие двойного клика в ячейке. Чтобы появлялось по событию правого клика его и надо обрабатывать:
1 |
4 / 4 / 0 Регистрация: 16.01.2013 Сообщений: 1,228 |
|
30.01.2013, 18:17 [ТС] |
14 |
The_Prist, Спасибо большое я разобрался!!! Вы можете подсказать где можно посмотреть какие цифры для ярлычков меню Например FaceId = 217 и как поставить полоску деления в меню Добавлено через 5 минут
0 |
1337 / 308 / 74 Регистрация: 13.11.2008 Сообщений: 635 |
|
30.01.2013, 19:35 |
15 |
Да простят меня модераторы: попробую дать ссылку на свой сайт, где лежит надстройка для определения FaceId иконок. Панель иконок FaceID Если ссылку удалят — пишите в личку, перешлю ссылку туда.
1 |
Ermak27 4 / 4 / 0 Регистрация: 16.01.2013 Сообщений: 1,228 |
||||||||
30.01.2013, 21:16 [ТС] |
16 |
|||||||
The_Prist, спасибо буду изучать. Добавлено через 1 час 25 минут
Но я не пойму как для моего случая сделать
0 |
1337 / 308 / 74 Регистрация: 13.11.2008 Сообщений: 635 |
|
30.01.2013, 21:30 |
17 |
Итак. Создаете отдельную процедуру: Код Sub MyPopup() CommandBars("MyShortcut").ShowPopup End Sub А на клавиши тогда прописываете так: Код Application.OnKey Key:="^c", Procedure:="MyPopup" Не забудьте перед закрытием книги очистить переназначение для клавиш: Код Application.OnKey Key:="^c"
1 |
Ermak27 4 / 4 / 0 Регистрация: 16.01.2013 Сообщений: 1,228 |
||||||||||||
31.01.2013, 00:13 [ТС] |
18 |
|||||||||||
Я сделал, но у меня когда я нажимаю клавиши Ctrl+C у меня открывается мое контекстное меню, что не так сделал явно. Я создал процедуру
Добавил клавиши
А вот очистить решил поставить сюда (Эта Книга), но я не уверен что правильно
0 |
1337 / 308 / 74 Регистрация: 13.11.2008 Сообщений: 635 |
|
31.01.2013, 07:52 |
19 |
Так Вы при открытии книги очищаете. Вчитайтесь в имя процедуры Workbook_Open: Книга_Открыть А вот на событие Workbook_BeforeClose() — очищать. Как проще найти эти процедуры:
1 |
Ermak27 4 / 4 / 0 Регистрация: 16.01.2013 Сообщений: 1,228 |
||||||||||||||||||
31.01.2013, 13:48 [ТС] |
20 |
|||||||||||||||||
The_Prist, что не получается, вот сделал для своего примера
и в модуле
но все равно не добавляет это мы делаем для кнопки Добавить строку и мы прописываем «MyShortcut»
а если будет еще добавлена кнопка, «MyShortcut» я так понимаю для всего меню одна используется
«MyShortcut» я так понимаю для всего меню одна используется, что то я тут не понимаю Вложения
0 |
Провожу супер-мастер-класс.
открываем книгу «#График пр-ва.xlsb«, там лист «ГП>ГПФ«, жмем кнопку «Рассчитать заказ«
при открытии формы, откроется другая книга и оттуда подгрузится вся необходимая инфа.
После того, как форма появится, перейдите на лист «График» для более наглядной работы:
выбираем из выпадающего списка вариант оборудования, видим его продолжительность справа
если нажать флажок правее, техоперация попадает на лист
[это типа формирование заявки на производство — производство одного вида полуфабриката состоит из стадий, каждая из которых может быть осуществлена на перечне соотв. оборудования]
я, честно говоря, всего там не помню, сейчас подчистил файлики побыстрому, у меня заработало, надеюсь у вас тоже заработает.
Провожу супер-мастер-класс.
открываем книгу «#График пр-ва.xlsb«, там лист «ГП>ГПФ«, жмем кнопку «Рассчитать заказ«
при открытии формы, откроется другая книга и оттуда подгрузится вся необходимая инфа.
После того, как форма появится, перейдите на лист «График» для более наглядной работы:
выбираем из выпадающего списка вариант оборудования, видим его продолжительность справа
если нажать флажок правее, техоперация попадает на лист
[это типа формирование заявки на производство — производство одного вида полуфабриката состоит из стадий, каждая из которых может быть осуществлена на перечне соотв. оборудования]
я, честно говоря, всего там не помню, сейчас подчистил файлики побыстрому, у меня заработало, надеюсь у вас тоже заработает. Саня
Сообщение Провожу супер-мастер-класс.
открываем книгу «#График пр-ва.xlsb«, там лист «ГП>ГПФ«, жмем кнопку «Рассчитать заказ«
при открытии формы, откроется другая книга и оттуда подгрузится вся необходимая инфа.
После того, как форма появится, перейдите на лист «График» для более наглядной работы:
выбираем из выпадающего списка вариант оборудования, видим его продолжительность справа
если нажать флажок правее, техоперация попадает на лист
[это типа формирование заявки на производство — производство одного вида полуфабриката состоит из стадий, каждая из которых может быть осуществлена на перечне соотв. оборудования]
я, честно говоря, всего там не помню, сейчас подчистил файлики побыстрому, у меня заработало, надеюсь у вас тоже заработает. Автор — Саня
Дата добавления — 24.03.2017 в 22:26
Источник
Как в excel удалить кнопку
Как удалить строку рабочего листа Excel с клавиатуры горячими клавишами?
Для удаления строки в Excel существует несколько различных инструментов. Само удаление в Excel может быть разным. Можно удалить только содержимое ячеек строки, выделив строку и нажав клавишу Delete, при этом ячейки остаются на своих местах и продолжают хранить информацию о формате (шрифтах, заливках и так далее), а можно удалить строку как таковую, когда все ячейки выделенной строки удаляются, а их место занимают ячейки, расположенные строкой ниже.
Удаление строки при помощи контекстного меню
Самый простой способ для удаления строки в Excel — это использование контекстного меню, которое вызывается нажатием правой кнопки мыши. Для удаления строки, её необходимо предварительно выделить, затем вызвать контекстное меню и выбрать из него пункт «Удалить». Происходит удаление строки со сдвигом вверх, то есть ячейки выделенной строки исчезают, а все табличное поле, расположенное под удаляемой строкой смещается вверх. Аналогичным образом можно удалить несколько выделенных строк, для этого при выделении строк необходимо держать нажатой клавишу Ctrl. После того как строки выделены, вызывается контекстное меню и выбирается пункт «Удалить».
Удаление строки с клавиатуры горячими клавишами
Более быстрый способ удалить строку или несколько строк — использовать сочетание горячих клавиш на клавиатуре. Чтобы удалить строку с клавиатуры горячими клавишами, необходимо просто нажать Ctrl+»-«, то есть две клавиши, одна из которых Ctrl, а вторая «-«. Следует заметить, что строка (или несколько строк) должны быть предварительно выделены. Команда удаляет выделенную область со сдвигом вверх. Её использование позволяет сэкономить немного времени и избавиться от лишнего движения, которым вызывается контекстное меню. Можно еще несколько ускорить процесс удаления строки при помощи горячих клавиш, но для этого придется сделать две вещи. Во-первых, сохранить макрос в личной книге макросов и во-вторых, закрепить выполнение этого макроса за определенным сочетанием клавиш на клавиатуре.
1. Сохраняем макрос
Программный код макроса для удаления строки, в которой находится маркер выделения. Используя программный код, представленный ниже, можно удалить строку без использования манипулятора мыши. Команда определяет номер строки, в которой находится маркер выделения (активная ячейка) и удаляет эту строку со сдвигом вверх. При этом не требуется перед удалением выделять строку.
Для того, чтобы перенести этот программный код на свой компьютер, наведите курсор мыши на поле с программным кодом, нажмите на одну из двух кнопкок в правом верхнем углу этого поля, скопируйте программный код и вставьте его в модуль проекта на своем компьютере (подробнее о том, как сохранить программный код макроса ).
2. Присваиваем макросу сочетание клавиш
О том, как задать макросу сочетание горячих клавиш написано отдельно. Следует заметить, что относиться к выбору клавиш следует осторожно, так как некоторые сочетания уже используются приложением Excel. Кроме того приложение различает алфавит заданной буквы, поэтому чтобы не обращать внимания на раскладку клавиатуры при запуске макроса, можно создать копию макроса с другим именем и закрепить за ней сочетание клавиш с использованием той же кнопки, но в другой раскладке.
Макрос для удаления строк по условию
Существуют более совершенные инструменты для удаления строк, используя которые не нужно задействовать собственное зрение и внимание для поиска строк, которые требуется удалить. Примером может служить макрос, осуществляющий поиск и удаление строк, содержащих заданный пользователем текст, а также надстройка для Excel удаляющая строки, с множеством различных условий и возможностью задавать эти условия в удобном диалоговом окне.
Из проведенного обзора видно, что существуют различные инструменты для выполнения одной и той же операции, каждый из них имеет свои плюсы и свои минусы, остается выбрать из них наиболее оптимальный для своего конкретного случая.
VBA 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
Удаление всех элементов управления
Удаление всех элементов управления формы всех типов:
Этот код удалит все имеющиеся на листе элементы управления формы.
Удаление всех однотипных элементов управления формы:
Этот код удалит все имеющиеся на листе элементы, в наименование которых входит подстрока «Button». В данном случае будут удалены все кнопки.
Точно также можно удалить и другие типы элементов управления формы, заменив аргумент оператора Like «Button*» на часть имени другого типа элементов с символом звездочки. Например: «Label*», «Drop Down*», «Check Box*» и т.д.
Навигация по записям
VBA Excel. Удаление элементов управления формы с листа : 1 комментарий
Для упрощения ввода данных вы можете вставлять такие элементы управления формы, как флажки и переключатели. Флажки хорошо подходят для форм с несколькими вариантами. Переключатели удобнее использовать, когда у пользователя только один вариант выбора.
Как удалить строку рабочего листа Excel с клавиатуры горячими клавишами?
Для удаления строки в Excel существует несколько различных инструментов. Само удаление в Excel может быть разным. Можно удалить только содержимое ячеек строки, выделив строку и нажав клавишу Delete, при этом ячейки остаются на своих местах и продолжают хранить информацию о формате (шрифтах, заливках и так далее), а можно удалить строку как таковую, когда все ячейки выделенной строки удаляются, а их место занимают ячейки, расположенные строкой ниже.
Удаление строки при помощи контекстного меню
Самый простой способ для удаления строки в Excel — это использование контекстного меню, которое вызывается нажатием правой кнопки мыши. Для удаления строки, её необходимо предварительно выделить, затем вызвать контекстное меню и выбрать из него пункт «Удалить». Происходит удаление строки со сдвигом вверх, то есть ячейки выделенной строки исчезают, а все табличное поле, расположенное под удаляемой строкой смещается вверх. Аналогичным образом можно удалить несколько выделенных строк, для этого при выделении строк необходимо держать нажатой клавишу Ctrl. После того как строки выделены, вызывается контекстное меню и выбирается пункт «Удалить».
Удаление строки с клавиатуры горячими клавишами
Более быстрый способ удалить строку или несколько строк — использовать сочетание горячих клавиш на клавиатуре. Чтобы удалить строку с клавиатуры горячими клавишами, необходимо просто нажать Ctrl+»-«, то есть две клавиши, одна из которых Ctrl, а вторая «-«. Следует заметить, что строка (или несколько строк) должны быть предварительно выделены. Команда удаляет выделенную область со сдвигом вверх. Её использование позволяет сэкономить немного времени и избавиться от лишнего движения, которым вызывается контекстное меню. Можно еще несколько ускорить процесс удаления строки при помощи горячих клавиш, но для этого придется сделать две вещи. Во-первых, сохранить макрос в личной книге макросов и во-вторых, закрепить выполнение этого макроса за определенным сочетанием клавиш на клавиатуре.
1. Сохраняем макрос
Программный код макроса для удаления строки, в которой находится маркер выделения. Используя программный код, представленный ниже, можно удалить строку без использования манипулятора мыши. Команда определяет номер строки, в которой находится маркер выделения (активная ячейка) и удаляет эту строку со сдвигом вверх. При этом не требуется перед удалением выделять строку.
Для того, чтобы перенести этот программный код на свой компьютер, наведите курсор мыши на поле с программным кодом, нажмите на одну из двух кнопкок в правом верхнем углу этого поля, скопируйте программный код и вставьте его в модуль проекта на своем компьютере (подробнее о том, как сохранить программный код макроса ).
2. Присваиваем макросу сочетание клавиш
О том, как задать макросу сочетание горячих клавиш написано отдельно. Следует заметить, что относиться к выбору клавиш следует осторожно, так как некоторые сочетания уже используются приложением Excel. Кроме того приложение различает алфавит заданной буквы, поэтому чтобы не обращать внимания на раскладку клавиатуры при запуске макроса, можно создать копию макроса с другим именем и закрепить за ней сочетание клавиш с использованием той же кнопки, но в другой раскладке.
Макрос для удаления строк по условию
Существуют более совершенные инструменты для удаления строк, используя которые не нужно задействовать собственное зрение и внимание для поиска строк, которые требуется удалить. Примером может служить макрос, осуществляющий поиск и удаление строк, содержащих заданный пользователем текст, а также надстройка для Excel удаляющая строки, с множеством различных условий и возможностью задавать эти условия в удобном диалоговом окне.
Из проведенного обзора видно, что существуют различные инструменты для выполнения одной и той же операции, каждый из них имеет свои плюсы и свои минусы, остается выбрать из них наиболее оптимальный для своего конкретного случая.
Удаление листов в Excel (3 способа)
Во время работы с документами в Excel у пользователей есть возможность создавать новые листы, что в некоторых случаях просто необходимо, чтобы успешно справиться с поставленной задачей. Но нередко возникает необходимость в удалении определенных листов с ненужными данными (или пустые листы), чтобы они не занимали лишнего места в нижней строке состояния программы, например, когда листов слишком много и нужно облегчить переключение между ними.
В программе Эксель можно удалить как один лист, так и сразу несколько за раз. Давайте разберем, как это можно сделать разными методами.
Удаление листа через контекстное меню
Пожалуй, это наиболее популярный и простой метод выполнить действие удаления, которое выполняется буквально за два клика.
- Для этого воспользуемся контекстными меню, которое вызывается щелчком правой кнопки мыши именно по тому листу, который мы хотим удалить.
- В открывшемся меню выбираем “Удалить”.
- Вот и все, ненужный лист был безвозвратно удален из книги.
Удаление через инструменты программы
Данный метод не так распространен, но все же, давайте его тоже попробуем применить.
- Для начала нужно выбрать лист, который нужно удалить.
- Далее переходим во вкладку “Главная”, щелкаем по блоку инструментов “Ячейки”, в раскрывшемся списке нажимаем на небольшую стрелку вниз рядом с кнопкой “Удалить”.
- Выбираем из открывшегося списка пункт “Удалить лист”.
- Выбранный нами лист будет удален из документа.
Примечание: если окно с программой достаточно растянуто по ширине, во вкладке “Главная” сразу будет отображаться кнопка “Удалить”, без необходимости предварительно нажимать на инструмент “Ячейки”.
Удаление сразу нескольких листов
По сути, сам процесс идентичен описанным выше методам. Но, чтобы удалить сразу несколько листов, до того, как выполнить само действие, нужно выделить все ненужные листы, которые следует убрать из документа.
- Если ненужные листы расположены подряд, их можно выделить следующим образом. Щелкните по первому листу, затем нажмите клавишу Shift, не отпуская ее, кликните по последнему листу, и потом можно отпустить клавишу. Речь, конечно же, идет про первый и последний листы из удаляемых. Выделять можно и в обратном порядке – от последнего к первому.
- В случаях, когда удаляемые листы расположены не подряд, их выделение происходит несколько иным способом. Зажимаем клавишу Ctrl, далее щелчком левой кнопки мыши выбираем все нужные листы, после чего отпускаем клавишу.
- Теперь, после того, как мы выделили лишние листы, можно приступить к их удалению любым из методов, которые были описаны выше.
Заключение
Итак, процедура удаления лишних листов в Эксель проста и абсолютно не трудоемка. Но при этом, она в определенных ситуациях, крайне полезна, чтобы “разгрузить” документ, сделав работу, как минимум, более комфортной. Пользуйтесь любым из предложенных методов, который вам показался наиболее удобным в реализации.
Удаление ячеек в Microsoft Excel
При работе с таблицами Excel довольно часто нужно не только вставить ячейки, но и удалить их. Процедура удаления, в общем, интуитивно понятна, но существует несколько вариантов проведения данной операции, о которых не все пользователи слышали. Давайте подробнее узнаем обо всех способах убрать определенные ячейки из таблицы Excel.
Процедура удаления ячеек
Собственно, процедура удаления ячеек в Excel обратна операции их добавления. Её можно подразделить на две большие группы: удаление заполненных и пустых ячеек. Последний вид, к тому же, можно автоматизировать.
Важно знать, что при удалении ячеек или их групп, а не цельных строк и столбцов, происходит смещение данных в таблице. Поэтому выполнение данной процедуры должно быть осознанным.
Способ 1: контекстное меню
Прежде всего, давайте рассмотрим выполнение указанной процедуры через контекстное меню. Это один и самых популярных видов выполнения данной операции. Его можно применять, как к заполненным элементам, так и к пустым.
- Выделяем один элемент или группу, которую желаем удалить. Выполняем щелчок по выделению правой кнопкой мыши. Производится запуск контекстного меню. В нем выбираем позицию «Удалить…».
- Ячейки, со сдвигом влево;
- Ячейки со сдвигом вверх;
- Строку;
- Столбец.
Так как нам нужно удалить именно ячейки, а не целые строки или столбцы, то на два последних варианта внимания не обращаем. Выбираем действие, которое вам подойдет из первых двух вариантов, и выставляем переключатель в соответствующее положение. Затем щелкаем по кнопке «OK».
А, если был выбран второй пункт, то со сдвигом влево.
Способ 2: инструменты на ленте
Удаление ячеек в Экселе можно также произвести, воспользовавшись теми инструментами, которые представлены на ленте.
- Выделяем элемент, который следует удалить. Перемещаемся во вкладку «Главная» и жмем на кнопку «Удалить», которая располагается на ленте в блоке инструментов «Ячейки».
Если вы захотите удалить горизонтальную группу ячеек указанным способом, то для этого будут действовать следующие правила.
- Выделяем эту группу элементов горизонтальной направленности. Кликаем по кнопке «Удалить», размещенной во вкладке «Главная».
Если же мы попробуем удалить вертикальную группу элементов, то сдвиг произойдет в другом направлении.
- Выделяем группу элементов вертикальной направленности. Производим щелчок по кнопке «Удалить» на ленте.
А теперь попытаемся произвести удаление данным способом многомерного массива, содержащего элементы, как горизонтальной, так и вертикальной направленности.
- Выделяем этот массив и жмем на кнопку «Удалить» на ленте.
Считается, что использование инструментов на ленте менее функционально, чем удаление через контекстное меню, так как данный вариант не предоставляет пользователю выбора направления сдвига. Но это не так. С помощью инструментов на ленте также можно удалить ячейки, самостоятельно выбрав направление сдвига. Посмотрим, как это будет выглядеть на примере того же массива в таблице.
- Выделяем многомерный массив, который следует удалить. После этого жмем не на саму кнопку «Удалить», а на треугольник, который размещается сразу справа от неё. Активируется список доступных действий. В нем следует выбрать вариант «Удалить ячейки…».
Вслед за этим происходит запуск окошка удаления, которое нам уже знакомо по первому варианту. Если нам нужно удалить многомерный массив со сдвигом, отличным от того, который происходит при простом нажатии на кнопку «Удалить» на ленте, то следует переставить переключатель в позицию «Ячейки, со сдвигом вверх». Затем производим щелчок по кнопке «OK».
Способ 3: использование горячих клавиш
Но быстрее всего выполнить изучаемую процедуру можно при помощи набора сочетания горячих клавиш.
- Выделяем на листе диапазон, который желаем убрать. После этого жмем комбинацию клавиш «Ctrl»+»-« на клавиатуре.
Запускается уже привычное для нас окно удаления элементов. Выбираем желаемое направление сдвига и щелкаем по кнопке «OK».
Способ 4: удаление разрозненных элементов
Существуют случаи, когда нужно удалить несколько диапазонов, которые не являются смежными, то есть, находятся в разных областях таблицы. Конечно, их можно удалить любым из вышеописанных способов, произведя процедуру отдельно с каждым элементом. Но это может отнять слишком много времени. Существует возможность убрать разрозненные элементы с листа гораздо быстрее. Но для этого их следует, прежде всего, выделить.
- Первый элемент выделяем обычным способом, зажимая левую кнопку мыши и обведя его курсором. Затем следует зажать на кнопку Ctrl и кликать по остальным разрозненным ячейкам или обводить диапазоны курсором с зажатой левой кнопкой мыши.
Способ 5: удаление пустых ячеек
Если вам нужно удалить пустые элементы в таблице, то данную процедуру можно автоматизировать и не выделять отдельно каждую из них. Существует несколько вариантов решения данной задачи, но проще всего это выполнить с помощью инструмента выделения групп ячеек.
- Выделяем таблицу или любой другой диапазон на листе, где предстоит произвести удаление. Затем щелкаем на клавиатуре по функциональной клавише F5.
Запускается окно перехода. В нем следует щелкнуть по кнопке «Выделить…», размещенной в его нижнем левом углу.
После этого открывается окно выделения групп ячеек. В нем следует установить переключатель в позицию «Пустые ячейки», а затем щелкнуть по кнопке «OK» в нижнем правом углу данного окна.
Как видим, после выполнения последнего действия все пустые элементы в указанном диапазоне были выделены.
Существуют и другие варианты удаления пустых элементов, более подробно о которых говорится в отдельной статье.
Как видим, существует несколько способов удаления ячеек в Excel. Механизм большинства из них идентичен, поэтому при выборе конкретного варианта действий пользователь ориентируется на свои личные предпочтения. Но стоит все-таки заметить, что быстрее всего выполнять данную процедуру можно при помощи комбинации горячих клавиш. Особняком стоит удаление пустых элементов. Данную задачу можно автоматизировать при помощи инструмента выделения ячеек, но потом для непосредственного удаления все равно придется воспользоваться одним из стандартных вариантов.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Источник
Adblock
detector