Перейти к содержимому

Kutools для Office — один пакет. Пять инструментов. Выполняйте больше.

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

Author Xiaoyang Last modified

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

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


arrow blue right bubble Группировка и разгруппировка строк в защищенном листе с помощью кода 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, чтобы запустить код. Появится запрос, предлагающий вам установить пароль для защиты листа. Введите желаемый пароль и нажмите OK. Смотрите скриншот ниже:

group in protected sheet with vba

5. Нажмите OK после ввода пароля. Теперь ваш лист защищен, но вы и другие пользователи все равно сможете расширять и сворачивать группы с помощью символов структуры (плюс и минус) слева от листа, как показано на скриншоте:

group in protected sheet as normal when running vba code

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

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

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

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

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

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

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

🤖 Kutools AI Aide: Совершенно новый подход к анализу данных благодаря: Интеллектуальное выполнение |  Генерация кода  |  Создание пользовательских формул |  Анализ данных и построение диаграмм  |  Вызов Kutools Functions
Популярные функции: Поиск, выделение или отметка дубликатов | Удалить пустые строки | Объединить столбцы или адреса без потери данных | Округлить ...
Супер ПОИСК: 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.

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