Удалить 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]А почто не нарисовали в файле кучку чего надо и чего не надо удалять?
Добрый день! Пытаюсь удалить все шейпы с листа. Но макрос мне удаляет в том числе и все кнопки (Элементы управления формы). [vba]Код
Sub ds() Dim p as Shape For Each p In ActiveSheet.Shapes p.Delete Next p End Sub
[/vba] приношу извинения... запускаю кнопку - она изчезает... я не хочу чтобы она изсчезала... (можно конечно привязаться к координатам, но можно без этого?) [moder]А почто не нарисовали в файле кучку чего надо и чего не надо удалять? Roman777
К сообщению приложен файл:
1_-.xlsm
(22.3 Kb)
Много чего не знаю!!!!
Сообщение отредактировал Roman777 - Вторник, 16.02.2016, 13:16
Ответить
Сообщение Добрый день! Пытаюсь удалить все шейпы с листа. Но макрос мне удаляет в том числе и все кнопки (Элементы управления формы). [vba]Код
Sub ds() Dim p as Shape For Each p In ActiveSheet.Shapes p.Delete Next p End Sub
[/vba] приношу извинения... запускаю кнопку - она изчезает... я не хочу чтобы она изсчезала... (можно конечно привязаться к координатам, но можно без этого?) [moder]А почто не нарисовали в файле кучку чего надо и чего не надо удалять? Автор - Roman777 Дата добавления - 16.02.2016 в 13:07
_Boroda_
Дата: Вторник, 16.02.2016, 13:14 |
Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16699
Репутация:
6495
±
Замечаний:
±
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]
Такой вариант [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_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Такой вариант [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_ Дата добавления - 16.02.2016 в 13:14
Roman777
Дата: Вторник, 16.02.2016, 13:22 |
Сообщение № 3
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация:
127
±
Замечаний:
0% ±
Excel 2007, Excel 2013
_Boroda_ , Спасибо) второй сработал))) А не подскажите, где можно найти полную табличку значений Type для Shape ?
_Boroda_ , Спасибо) второй сработал))) А не подскажите, где можно найти полную табличку значений Type для Shape ?Roman777
Много чего не знаю!!!!
Ответить
Сообщение _Boroda_ , Спасибо) второй сработал))) А не подскажите, где можно найти полную табличку значений Type для Shape ?Автор - Roman777 Дата добавления - 16.02.2016 в 13:22
Апострофф
Дата: Вторник, 16.02.2016, 13:28 |
Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 457
Репутация:
126
±
Замечаний:
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
Цитата 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
Апострофф
Ответить
Сообщение Цитата 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
Автор - Апострофф Дата добавления - 16.02.2016 в 13:28
_Boroda_
Дата: Вторник, 16.02.2016, 13:28 |
Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16699
Репутация:
6495
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
где можно найти полную табличку значений
В поиске, например Переводчиком его если, то вот так Кто вражеский знает - переведите пожалуйста по-нормальному.
где можно найти полную табличку значений
В поиске, например Переводчиком его если, то вот так Кто вражеский знает - переведите пожалуйста по-нормальному._Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение где можно найти полную табличку значений
В поиске, например Переводчиком его если, то вот так Кто вражеский знает - переведите пожалуйста по-нормальному.Автор - _Boroda_ Дата добавления - 16.02.2016 в 13:28
Roman777
Дата: Вторник, 16.02.2016, 13:35 |
Сообщение № 6
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация:
127
±
Замечаний:
0% ±
Excel 2007, Excel 2013
_Boroda_ , Апострофф , Спасибо большое))).
_Boroda_ , Апострофф , Спасибо большое))).Roman777
Много чего не знаю!!!!
Ответить
Сообщение _Boroda_ , Апострофф , Спасибо большое))).Автор - Roman777 Дата добавления - 16.02.2016 в 13:35
Апострофф
Дата: Вторник, 16.02.2016, 13:37 |
Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 457
Репутация:
126
±
Замечаний:
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]
Ещё можно на стандартные имена объектов ориентироваться - [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] Апострофф
Ответить
Сообщение Ещё можно на стандартные имена объектов ориентироваться - [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] Автор - Апострофф Дата добавления - 16.02.2016 в 13:37
Roman777
Дата: Вторник, 16.02.2016, 13:42 |
Сообщение № 8
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация:
127
±
Замечаний:
0% ±
Excel 2007, Excel 2013
Апострофф , Ваш вариант мб и сработает, но с Актив ИКС, а вот с элементом формы у меня её так же удаляет =) А нет, всё робит... просто имя у объектов юзерформы другое: [vba]Код
If Not p.Name Like "Button*"
[/vba]
Апострофф , Ваш вариант мб и сработает, но с Актив ИКС, а вот с элементом формы у меня её так же удаляет =) А нет, всё робит... просто имя у объектов юзерформы другое: [vba]Код
If Not p.Name Like "Button*"
[/vba]Roman777
Много чего не знаю!!!!
Сообщение отредактировал Roman777 - Вторник, 16.02.2016, 13:49
Ответить
Сообщение Апострофф , Ваш вариант мб и сработает, но с Актив ИКС, а вот с элементом формы у меня её так же удаляет =) А нет, всё робит... просто имя у объектов юзерформы другое: [vba]Код
If Not p.Name Like "Button*"
[/vba]Автор - Roman777 Дата добавления - 16.02.2016 в 13:42
Апострофф
Дата: Вторник, 16.02.2016, 13:53 |
Сообщение № 9
Группа: Проверенные
Ранг: Обитатель
Сообщений: 457
Репутация:
126
±
Замечаний:
0% ±
Excel 1997
Тогда[vba]Код
If Not p.Name Like "Button *" Then p.Delete
[/vba]? Опоздал
Тогда[vba]Код
If Not p.Name Like "Button *" Then p.Delete
[/vba]? Опоздал Апострофф
Сообщение отредактировал Апострофф - Вторник, 16.02.2016, 13:55
Ответить
Сообщение Тогда[vba]Код
If Not p.Name Like "Button *" Then p.Delete
[/vba]? Опоздал Автор - Апострофф Дата добавления - 16.02.2016 в 13:53