KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

Как группировать и разгруппировать строки на защищённом листе?

АвторСяоянДата изменения

Как известно, после защиты листа в Excel на действия пользователей накладываются определённые ограничения. Например, по умолчанию отключена возможность переключаться между сгруппированными и разгруппированными данными — то есть использовать встроенные функции структуры Excel для сворачивания и разворачивания групп. Это особенно неудобно, если вы хотите разрешить отдельным пользователям организовывать или просматривать данные с помощью группировки, сохраняя при этом остальной контент защищённым от нежелательных изменений. Умение разрешить группировку и разгруппировку без ослабления общей защиты листа крайне важно: это обеспечивает и целостность данных, и удобство работы.

Группировка и разгруппировка строк на защищённом листе с помощью кода VBA


синяя стрелка вправо с пузырём Группировка и разгруппировка строк на защищённом листе с помощью кода VBA

Обычно функции группировки и разгруппировки недоступны при включённой защите листа. Надёжный способ обойти это ограничение — использовать код VBA, который программно активирует функции структуры, сохраняя при этом защиту листа. Этот метод подходит, если вы знакомы с макросами или политика вашей организации разрешает использование VBA. Однако имейте в виду: решения на основе VBA требуют книг, поддерживающих макросы ().xlsm), и не должны применяться, если макросы отключены в вашей среде или если вы хотите избежать предупреждений безопасности при открытии файлов.

1. Активируйте лист, на котором нужно включить группировку и разгруппировку. Убедитесь, что лист сейчас не защищён — если защита уже включена, этот метод не сработает. При необходимости сначала выберите команду «Рецензирование» > «Снять защиту с листа».

2. Затем нажмите ALT + F11, чтобы открыть редактор Microsoft Visual Basic для приложений.

3. В редакторе VBA выберите «Вставка» > «Модуль», затем вставьте приведённый ниже код в новое окно модуля. Обязательно вставьте код точно — только так он будет работать корректно.

Код VBA: группировка и разгруппировка строк на защищённом листе

Sub EnableOutlining()
'Updateby Extendoffice
Dim xWs As Worksheet
Set xWs = Application.ActiveSheet
Dim xPws As String
xPws = Application.InputBox("Password:", xTitleId, "", Type:=2)
xWs.Protect Password:=xPws, Userinterfaceonly:=True
xWs.EnableOutlining = True
End Sub

Этот код включает защиту листа, но при этом разрешает функцию сворачивания и разворачивания сгруппированных строк или столбцов. Код запросит у вас пароль для защиты — обязательно запомните его, так как он понадобится для снятия защиты с листа в будущем. Если вы забудете пароль, разблокировать лист без применения специальных методов восстановления может оказаться невозможно.

4. Нажмите F5, чтобы запустить код. Появится запрос на установку пароля для защиты листа. Введите желаемый пароль и нажмите «ОК». См. скриншот ниже:

группа на защищённом листе с использованием VBA

5. После ввода пароля нажмите «ОК». Теперь ваш лист защищён, но вы и другие пользователи по-прежнему можете сворачивать и разворачивать группы с помощью значков плюса и минуса — символов контуров, расположенных слева от листа, как показано на скриншоте:

группа на защищённом листе как обычно при выполнении кода VBA

Советы и меры предосторожности:

  • Если лист уже защищён, код не выполнится — сначала обязательно снимите защиту.
  • Защита на основе VBA эффективна в сложных сценариях, однако она не подходит для сред, где макросы ограничены, или для пользователей, незнакомых с VBA.
  • Обязательно напоминайте получателям включать макросы при открытии книги с поддержкой макросов, чтобы все функции работали корректно.

Преимущества: Этот метод обеспечивает гибкость автоматизации процесса защиты и настройки разрешённых действий.

Ограничения: Требуется включение макросов, и не все пользователи или организации разрешают использование VBA из соображений безопасности.

Если после запуска макроса возникают ошибки или функция группировки работает некорректно, проверьте следующее:

  • Перед запуском макроса защита листа была снята.
  • Элементы «Символы контуров (плюс/минус)» были созданы заранее с помощью команды «Данные» > «Группировать» до включения защиты.
  • Вы правильно ввели пароль в запросе? Или попробуйте использовать более простой пароль для устранения неполадок.
  • Ваши параметры макросов в Excel разрешают выполнение кода VBA.
Если проблемы сохраняются, ознакомьтесь с альтернативными методами ниже для пользователей, не использующих макросы.

Лучшие инструменты повышения продуктивности в Office

🤖KUTOOLS AI Помощник: Преобразуйте Анализ данных с помощью:Интеллектуального выполнения   |  Генерации кода|  Создания пользовательские формулы  |  Анализа данных и построения диаграмм|  Вызова Расширенные функции
Популярные функции:Поиск, выделение или Отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячеек без потери данных   |  Округление без использования формул
Супер ПОИСК:VLookup по нескольким критериям  |  VLookup по нескольким значениям  |   VLookup по нескольким листам   |   Распознавание нечетких соответствий
Расширенный раскрывающийся список:Быстрое создание выпадающего списка   |  Зависимый выпадающий список   |  Выпадающий список с множественным выбором
Управление столбцами:Добавление заданного количества столбцов|Перемещение столбцов|Переключение видимости скрытых столбцов|Сравнение диапазонов и столбцов
Избранные функции:Сетка фокусировки   |  Просмотр дизайна   |Улучшенная строка формулы   | Управление рабочими книгами и листами   |  Библиотека ресурсов(автотекст)|  Выбор даты   |  Объединить листы  |  Шифрование/Расшифровать ячейки   | Отправка писем по списку   |  Супер фильтр   |   Специальный фильтр(Фильтр ячеек с жирным шрифтом/курсив/зачёркивание…) …
Лучшие наборы инструментов 15:12 Текстовыеинструменты(Добавить текст,Удалить определенные символы, …)|   50+Типыдиаграмм(Диаграмма Ганта, …)|   40+ Практические формулы(Рассчитать возраст на основе даты рождения, …)|   19 Инструментывставки(Вставить QR-код,Вставка изображения по пути, …)|   12 Инструментыпреобразования(Преобразовать в слова,Конвертация валют, …)|   7 Объединить и разделитьИнструменты(Расширенное объединение строк,Разделить ячейки, …)|… и многое другое
Используйте Kutools на предпочитаемом языке — поддержка английского, испанского, немецкого, французского, китайского и ещё 40+ языков!

Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…


Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу

  • Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
  • Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!

Все надстройки Kutools — один установщик

Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.

ExcelWordOutlookTabsPowerPoint
  • Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
  • Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
  • Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
  • 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
  • Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек