Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Удалить Shape, не трогая кнопки в файле - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Удалить Shape, не трогая кнопки в файле (Макросы/Sub)
Удалить Shape, не трогая кнопки в файле
Roman777 Дата: Вторник, 16.02.2016, 13:07 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 703
Репутация: 75 ±
Замечаний: 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(22Kb)


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

Сообщение отредактировал 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
Группа: Модераторы
Ранг: Экселист
Сообщений: 9374
Репутация: 3947 ±
Замечаний: 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
 
Ответить
СообщениеТакой вариант
[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
Группа: Проверенные
Ранг: Ветеран
Сообщений: 703
Репутация: 75 ±
Замечаний: 0% ±

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


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

Автор - Roman777
Дата добавления - 16.02.2016 в 13:22
Апострофф Дата: Вторник, 16.02.2016, 13:28 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 71
Репутация: 26 ±
Замечаний: 0% ±

Excel 2003
Цитата 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
Группа: Модераторы
Ранг: Экселист
Сообщений: 9374
Репутация: 3947 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
где можно найти полную табличку значений
В поиске, например


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



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


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


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



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

Автор - _Boroda_
Дата добавления - 16.02.2016 в 13:28
Roman777 Дата: Вторник, 16.02.2016, 13:35 | Сообщение № 6
Группа: Проверенные
Ранг: Ветеран
Сообщений: 703
Репутация: 75 ±
Замечаний: 0% ±

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


Много чего не знаю!!!!
 
Ответить
Сообщение_Boroda_, Апострофф, Спасибо большое))).

Автор - Roman777
Дата добавления - 16.02.2016 в 13:35
Апострофф Дата: Вторник, 16.02.2016, 13:37 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 71
Репутация: 26 ±
Замечаний: 0% ±

Excel 2003
Ещё можно на стандартные имена объектов ориентироваться -
[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
Группа: Проверенные
Ранг: Ветеран
Сообщений: 703
Репутация: 75 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
Апострофф, Ваш вариант мб и сработает, но с Актив ИКС, а вот с элементом формы у меня её так же удаляет =)
А нет, всё робит... просто имя у объектов юзерформы другое:
[vba]
Код
If Not p.Name Like "Button*"
[/vba]


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

Сообщение отредактировал 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
Группа: Пользователи
Ранг: Участник
Сообщений: 71
Репутация: 26 ±
Замечаний: 0% ±

Excel 2003
Тогда[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
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Удалить Shape, не трогая кнопки в файле (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2016 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!