Как разрешить работу группировки строк/столбцов при защите листа Excel

Что делать, если не работает группировка в Excel при защите листа? Как добавить в Excel команду по разрешению работы группировки при защите листа?

Статьи по Excel

Вероятно, вы когда-то имели дело с группировкой (свертыванием/развертыванием) строк/столбцов в Excel:

и, возможно, замечали, что данная удобная опция перестает работать при защите листа Excel:

Эту досадную проблему можно легко решить с помощью простого макроса!

 

За возможность работы группировки при защите листа отвечает свойство EnableOutlining объекта ActiveSheet, причем устанавливаться это свойство должно одновременно с защитой листа.

 

Иными словами, чтобы все работало предлагается добавить в книгу макрос, который будет ставить пароль на нужные листы и одновременно устанавливать нужную настройку при каждом открытии файла.

 

Для этого открываем модуль ЭтаКнига:

 

И добавляем следующий макрос к событию открытия книги, т.е. с названием Workbook_Open (пример в приложенном файле):

 

Private Sub Workbook_Open()

On Error Resume Next

    Sheets("имя листа").EnableOutlining = True

    Sheets("имя листа").Protect Password:="пароль", Userinterfaceonly:=True

End Sub

 

Если необходимо поставить пароль сразу на все листы книги, макрос можно видоизменить, добавив цикл:

 

Private Sub Workbook_Open()

    On Error Resume Next

    Dim i As Object

    For Each i In ActiveWorkbook.Sheets

        i.EnableOutlining = True

        i.Protect Password:="111", Userinterfaceonly:=True

    Next i

End Sub

 

Конечно же, в надстройке SubEx данный макрос не нужно писать вручную, надстройка сделает это автоматически (меню Защита - С возможностью группировки):

 

Добавьте эту команду в свой Excel с надстройкой SubEx, чтобы она всегда была "под рукой":

Важные моменты:

1. Как вы видите, в первом варианте команды в макрос "зашивается" имя листа, таким образом, при последующем переименовании листа имя листа необходимо поменять в макросе вручную!

2. Команду можно применить в файле только 1 раз! если что-то пошло не так, для повторного применения необходимо  удалить весь макрос Workbook_Open в модуле ЭтаКнига:

 

Скачать файл-пример

3. Для работы команды необходим доступ к объектной модели VBA. Как его включить?

© эксель-быстро.рф, 2016-2020

 All rights reserved

Логотипы Excel и

MS Office являются собственностью компании Microsoft