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

Вход

Регистрация

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

 

= Мир MS Excel/Удаление элементов управления форм - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Удаление элементов управления форм (Макросы/Sub)
Удаление элементов управления форм
Alex2354 Дата: Среда, 30.03.2022, 13:33 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 18
Репутация: 0 ±
Замечаний: 0% ±

Добрый день.

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

[vba]
Код
Sub Макрос1()
'
If MsgBox("Заменить?", vbYesNo + vbQuestion) = vbYes Then
'
    Application.ScreenUpdating = False
    
    Dim ws As Worksheet
    Dim myShap As Shape
    For Each ws In ActiveWorkbook.Worksheets
        ws.Unprotect
        ws.UsedRange.Value = ws.UsedRange.Value
    For Each myShap In ThisWorkbook.ActiveSheet.Shapes
        If myShap.Name Like "Button*" Or myShap.Name Like "Group*" Or myShap.Name Like "Spinner*" Then myShap.Delete
    Next
    Next ws

    Application.ScreenUpdating = True

End If

End Sub
[/vba]

Спасибо.
К сообщению приложен файл: 6286252.xlsm (29.1 Kb)
 
Ответить
СообщениеДобрый день.

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

[vba]
Код
Sub Макрос1()
'
If MsgBox("Заменить?", vbYesNo + vbQuestion) = vbYes Then
'
    Application.ScreenUpdating = False
    
    Dim ws As Worksheet
    Dim myShap As Shape
    For Each ws In ActiveWorkbook.Worksheets
        ws.Unprotect
        ws.UsedRange.Value = ws.UsedRange.Value
    For Each myShap In ThisWorkbook.ActiveSheet.Shapes
        If myShap.Name Like "Button*" Or myShap.Name Like "Group*" Or myShap.Name Like "Spinner*" Then myShap.Delete
    Next
    Next ws

    Application.ScreenUpdating = True

End If

End Sub
[/vba]

Спасибо.

Автор - Alex2354
Дата добавления - 30.03.2022 в 13:33
_Boroda_ Дата: Среда, 30.03.2022, 13:50 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
[vba]
Код
For Each myShap In ws.Shapes
[/vba]
Бегаете циклом по листам, а удаляете только с активного


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение[vba]
Код
For Each myShap In ws.Shapes
[/vba]
Бегаете циклом по листам, а удаляете только с активного

Автор - _Boroda_
Дата добавления - 30.03.2022 в 13:50
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Удаление элементов управления форм (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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