Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Удаление элементов управления с листов из списка
 
Добрый день!

Друзья, нужна помощь в отладке кода, а именно в части формулировки команды на удаление элемента управления формы - флажок.
Код
Sub Clear()
    Dim BazaWb As Workbook 'отчет
    Dim BazaList As Range 'список проверяемых листов
    Dim iNameSht As String ' имя проверяемого листа
        Set BazaWb = ThisWorkbook
        Set BazaList = BazaWb.Worksheets("Адрес").Range("F2:F6") 'устанавливаем список листов
            For Each n In BazaList 'для каждого листа из списка удаляем элементы управления
                iNameSht = n
                If iNameSht <> "" And iNameSht <> "КТТ" Then 'исключаем из проверки один из листов в списке и пустые позиции
                With Sheets(iNameSht)
                    Rows.Hidden = False   'отменяем все скрытия строк
                    Columns.Hidden = False   'отменяем все скрытия строк
                    .Shapes.Delete
                End With
                End If
            Next
End Sub
 
Приложите файл пример.
"Все гениальное просто, а все простое гениально!!!"
 
Код
Sub iDel()
    For Each sp In ActiveSheet.Shapes
        If sp.Type = 8 Then sp.Delete
    Next
End Sub
 
Прикладываю пример
 
Код
Sub Мяу()
    Dim Cell As Range
    On Error Resume Next
    For Each Cell In Worksheets("Адрес").Range("F2:F6")
        Worksheets(CStr(Cell.Value)).CheckBoxes Delete
    Next
End Sub
 
Спасибо, RAN!  С твоим решением код из примера тоже заработал.
Код
Sub Clear()
    Dim BazaWb As Workbook 'консолидирующая книга
    Dim BazaList As Range 'список консолидируемых листов
        Set BazaWb = ThisWorkbook
        Set BazaList = BazaWb.Worksheets("Адрес").Range("F2:F6") 'устанавливаем список листов
            For Each n In BazaList 'для каждого листа из списка удаляем элементы управления
                iNameSht = n
                If iNameSht <> "" And iNameSht <> "КТТ" Then
                With Sheets(iNameSht)
                    .Rows.Hidden = False   'отменяем все скрытия строк
                    .Columns.Hidden = False   'отменяем все скрытия строк
                    .CheckBoxes.Delete
                End With
                End If
            Next
End Sub
 
Александр, у нас на форуме к незнакомым людям принято обращаться на ВЫ.
 
Прошу прощения, RAN. Очень обрадовался решению, предложенному Вами  :)  
Страницы: 1
Читают тему (гостей: 1)
Наверх