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

Вход

Регистрация

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

 

= Мир MS Excel/Удаление рисунков с определенным именем - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Удаление рисунков с определенным именем
DimOzerov Дата: Четверг, 25.01.2018, 23:23 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 68
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Доброго вечера.
Помогите с досадной проблемкой...

На листе есть несколько рисунков с именем "Вставленный".
Я пытаюсь удалить их все, но мой код удаляет только первый рисунок из множества.
А остальные рисунки - не удаляет, хотя они тоже называются "Вставленный".

Подскажите - как изменить мой код, чтобы он удалял все картинки с листа, с именем "Вставленный", а не только один ?
Мой код:
[vba]
Код

Sub Макрос1()
    Application.ScreenUpdating = False
    On Error Resume Next
    ActiveSheet.Shapes("Вставленный").Delete
    On Error GoTo 0
End Sub
[/vba]
К сообщению приложен файл: _____.xlsm (28.9 Kb)
 
Ответить
СообщениеДоброго вечера.
Помогите с досадной проблемкой...

На листе есть несколько рисунков с именем "Вставленный".
Я пытаюсь удалить их все, но мой код удаляет только первый рисунок из множества.
А остальные рисунки - не удаляет, хотя они тоже называются "Вставленный".

Подскажите - как изменить мой код, чтобы он удалял все картинки с листа, с именем "Вставленный", а не только один ?
Мой код:
[vba]
Код

Sub Макрос1()
    Application.ScreenUpdating = False
    On Error Resume Next
    ActiveSheet.Shapes("Вставленный").Delete
    On Error GoTo 0
End Sub
[/vba]

Автор - DimOzerov
Дата добавления - 25.01.2018 в 23:23
Mikael Дата: Четверг, 25.01.2018, 23:40 | Сообщение № 2
Группа: Пользователи
Ранг: Участник
Сообщений: 80
Репутация: 31 ±
Замечаний: 0% ±

Excel 2010
DimOzerov, доброй ночи!
Попробуйте:
[vba]
Код
Sub ShapesDel()
    Dim shp As Shape
    For Each shp In ActiveSheet.Shapes
        If shp.Name = "Вставленный" Then shp.Delete
    Next shp
End Sub
[/vba]
 
Ответить
СообщениеDimOzerov, доброй ночи!
Попробуйте:
[vba]
Код
Sub ShapesDel()
    Dim shp As Shape
    For Each shp In ActiveSheet.Shapes
        If shp.Name = "Вставленный" Then shp.Delete
    Next shp
End Sub
[/vba]

Автор - Mikael
Дата добавления - 25.01.2018 в 23:40
DimOzerov Дата: Четверг, 25.01.2018, 23:48 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 68
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Mikael, теперь все ясно. Спасибо за помощь.
 
Ответить
СообщениеMikael, теперь все ясно. Спасибо за помощь.

Автор - DimOzerov
Дата добавления - 25.01.2018 в 23:48
krosav4ig Дата: Четверг, 25.01.2018, 23:53 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
или так
[vba]
Код
Sub Макрос1()
    Application.ScreenUpdating = False
    Dim sh As Shape
    On Error Resume Next
    Set sh = ActiveSheet.Shapes("Вставленный")
    Do Until sh Is Nothing
        sh.Delete
        Set sh = Nothing
        Set sh = ActiveSheet.Shapes("Вставленный")
    Loop
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеили так
[vba]
Код
Sub Макрос1()
    Application.ScreenUpdating = False
    Dim sh As Shape
    On Error Resume Next
    Set sh = ActiveSheet.Shapes("Вставленный")
    Do Until sh Is Nothing
        sh.Delete
        Set sh = Nothing
        Set sh = ActiveSheet.Shapes("Вставленный")
    Loop
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 25.01.2018 в 23:53
Апострофф Дата: Пятница, 26.01.2018, 00:07 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 468
Репутация: 129 ±
Замечаний: 0% ±

Excel 1997
ScreenUpdating в TRUE вернуть не забудьте.
 
Ответить
СообщениеScreenUpdating в TRUE вернуть не забудьте.

Автор - Апострофф
Дата добавления - 26.01.2018 в 00:07
  • Страница 1 из 1
  • 1
Поиск:

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