Note: The other languages of the website are Google-translated. Back to English

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

Как мы все знаем, на защищенном листе существует множество ограничений для применения некоторых операций. Например, мы не можем переключаться между сгруппированными и разгруппированными данными. Есть ли способ сгруппировать или разгруппировать строки на защищенном листе?

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

Вкладка Office позволяет редактировать и просматривать в Office с вкладками и значительно упрощает работу ...
Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%
  • Повторное использование чего угодно: Добавляйте наиболее часто используемые или сложные формулы, диаграммы и все остальное в избранное и быстро используйте их в будущем.
  • Более 20 текстовых функций: Извлечь число из текстовой строки; Извлечь или удалить часть текстов; Преобразование чисел и валют в английские слова.
  • Инструменты слияния: Несколько книг и листов в одну; Объединить несколько ячеек / строк / столбцов без потери данных; Объедините повторяющиеся строки и сумму.
  • Разделить инструменты: Разделение данных на несколько листов в зависимости от ценности; Из одной книги в несколько файлов Excel, PDF или CSV; От одного столбца к нескольким столбцам.
  • Вставить пропуск Скрытые / отфильтрованные строки; Подсчет и сумма по цвету фона; Отправляйте персонализированные электронные письма нескольким получателям массово.
  • Суперфильтр: Создавайте расширенные схемы фильтров и применяйте их к любым листам; Сортировать по неделям, дням, периодичности и др .; Фильтр жирным шрифтом, формулы, комментарий ...
  • Более 300 мощных функций; Работает с Office 2007-2021 и 365; Поддерживает все языки; Простое развертывание на вашем предприятии или в организации.

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

Возможно, нет другого хорошего способа решить эту проблему, кроме использования кода VBA, сделайте следующее:

1. Активируйте свой рабочий лист, который вы хотите использовать, убедитесь, что рабочий лист еще не защищен.

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

3. Нажмите Вставить > Модулии вставьте следующий код в Окно модуля.

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

Sub EnableOutlining()
'Update 20140603
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 нажмите клавишу для запуска этого кода, и появится диалоговое окно с напоминанием о вводе пароля для защиты текущего рабочего листа. Смотрите скриншот:

doc-группа-в-защищенном-листе1

5. Затем нажмите OK, ваш лист был защищен, но вы можете развернуть и сжать символы структуры на этом защищенном листе, см. снимок экрана:

doc-группа-в-защищенном-листе1

Внимание: Если ваш рабочий лист уже защищен, этот код не будет работать.


Лучшие инструменты для работы в офисе

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма ...
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы... Предотвращение дублирования ячеек; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии...
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом ...
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
вкладка kte 201905

Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Сортировать комментарии по
Комментарии (32)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
Кажется, это отлично работает, но когда я закрываю и снова открываю книгу, я сталкиваюсь с той же проблемой - я не могу развернуть свои свернутые группы.
Этот комментарий был сведен к минимуму модератором на сайте
У меня такая же проблема, может кто знает как побороть. Большое спасибо
Этот комментарий был сведен к минимуму модератором на сайте
Для этого вам понадобится VBA, и конечный пользователь должен будет разрешить макросы, чтобы это работало.

Нажмите Alt + F11, чтобы активировать редактор Visual Basic.

Дважды щелкните ThisWorkbook в разделе «Объекты Microsoft Excel» в проводнике проекта с левой стороны.

Скопируйте следующий код в появившийся модуль:



Private Sub Workbook_Open ()
С рабочими листами («Сводка Emp»)
.EnableOutlining = Истина
.Защитить UserInterfaceOnly:=True
Конец с
End Sub



Этот код будет выполняться автоматически при каждом открытии книги.
Этот комментарий был сведен к минимуму модератором на сайте
[quote]Похоже, это отлично работает, но когда я закрываю и снова открываю книгу, я сталкиваюсь с той же проблемой - я не могу развернуть свернутые группы.Майич[/quote] Этот вопрос решается следующим образом: Private Sub Workbook_Open() Dim wsh As Variant For Each wsh In Worksheets(Array("Sheet1", "Sheet2")) wsh.EnableOutlining = True wsh.Protect Password:="260615" , DrawingObjects:=False, _contents:=True, _ Scenarios:=True, _ AllowFiltering:=True, _ AllowFormattingCells:=True, _ userinterfaceonly:=True Next wsh End Sub
Этот комментарий был сведен к минимуму модератором на сайте
У меня такая же проблема, как только я закрываю и снова ввожу лист, он не работает... пожалуйста, дайте пошагово, где и как использовать. Этот вопрос решается, как показано ниже. Private Sub Workbook_Open() Dim wsh As Вариант для каждого wsh In Worksheets(Arra y("Sheet1", "Sheet2")) wsh.EnableOutlining = True wsh.Protect Password:="2606 15", DrawingObjects: =False, _contents:=True, _ Сценарии: = True, _ AllowFiltering: = True, _ AllowFormattingCells: = True, _ userinterfaceonly: = True Next wsh End Sub
Этот комментарий был сведен к минимуму модератором на сайте
Большое спасибо, братан, это работает очень хорошо. Большое спасибо.
Этот комментарий был сведен к минимуму модератором на сайте
Как вы заставили это работать? Я попытался добавить его в VBA выше и создать другой модуль, но он все еще не работает. Нужно ли менять какие-либо коды? как мой пароль, который я использую, или мне нужно изменить имена листов?
Этот комментарий был сведен к минимуму модератором на сайте
У меня такая же проблема, когда я закрываю книгу. Есть идеи, как это исправить?
Этот комментарий был сведен к минимуму модератором на сайте
Private Sub Workbook_Open() Dim wsh As Variant For Each wsh In Worksheets(Array("TD_ Phase_3", "RS_Phase_2")) wsh.EnableOutlining = True wsh.Protect Password:="260615", DrawingObjects:=False, _ содержимое: = True, _ Scenarios: = True, _ AllowFiltering: = True, _ AllowFormattingCells: = True, _ userinterfaceonly: = True Next wsh End Sub
Этот комментарий был сведен к минимуму модератором на сайте
Все еще не уверен, как это работает. Сделать новый модуль или прикрепить к предыдущему?
Этот комментарий был сведен к минимуму модератором на сайте
Можете ли вы сделать пошаговое руководство о том, куда поместить это, как они сделали в исходных инструкциях. Спасибо.
Этот комментарий был сведен к минимуму модератором на сайте
Привет! Я успешно использовал первый макрос, а затем возникла та же проблема с закрытием книги, и макрос больше не работал. Я вижу решение выше, но не могу заставить его работать вообще. Не могли бы вы пройти через меня? Я комбинирую оба кода или использую только последний? Если мой пароль «собака», нужно ли заменить одно из значений в коде? Я обращаюсь только к одному рабочему листу («Лист1»); я использую это где-нибудь? Спасибо заранее!!
Этот комментарий был сведен к минимуму модератором на сайте
Пожалуйста, помогите мне, я хочу свернуть и развернуть некоторые рулоны и столбцы в защищенной электронной таблице Excel. Как я могу использовать макросы для этого? Я пробовал то, что вы показали, но они просто не работают в моей электронной таблице. Пожалуйста помоги.
Этот комментарий был сведен к минимуму модератором на сайте
Здравствуйте, пожалуйста, помогите мне развернуть и свернуть рулоны и столбцы в защищенной электронной таблице Excel. Я пытался использовать те, которые вы показали выше, но они не работают.
Этот комментарий был сведен к минимуму модератором на сайте
Было задано/отвечено? Где в коде можно указать/сменить личный пароль?
Этот комментарий был сведен к минимуму модератором на сайте
Как изменить пароль на другое значение?
Этот комментарий был сведен к минимуму модератором на сайте
Когда я использую команду, я вижу сообщение об ошибке, как показано ниже:
Private Sub Workbook_Open ()
Dim wsh как вариант
Для каждого wsh в рабочих листах (массив («TD_ Phase_3», «RS_Phase_2»))
wsh.EnableOutlining = Истина
wsh.Protect Password:="260615", DrawingObjects:=False, _
содержимое:=Верно, _
Сценарии: = Верно, _
Разрешить фильтрацию: = Истина, _
AllowFormattingCells:=Истина, _
пользовательский интерфейс только: = Истина
Следующий ш
End Sub
Ошибка времени выполнения '9':
Индекс вне диапазона
Этот комментарий был сведен к минимуму модератором на сайте
это работает некоторое время, как только вы закрываете и снова открываете, оно останавливается :(
Этот комментарий был сведен к минимуму модератором на сайте
Даже для меня, есть ли другое решение?
Этот комментарий был сведен к минимуму модератором на сайте
Подпрограмма Workbook_Open()
'Обновление 20140603
Dim xWs как рабочий лист
Установите xWs = Application.ActiveSheet
Dim xPws как строка
xPws = "rfc" ''Application.InputBox("Пароль:", xTitleId, "", Тип:=2)
xWs.Protect Password:=xPws, Userinterfaceonly:=True
xWs.EnableOutlining = Истина
End Sub
Этот комментарий был сведен к минимуму модератором на сайте
Я получил этот код для работы. Но когда я закрываю и снова открываю, я должен перейти на вкладку разработчика, выбрать кнопку макросов, выбрать «Выполнить» и ввести пароль.

Есть ли способ удалить пароль из кода ИЛИ код автозапуска, который автоматически запустит этот марко и введет пароль?
Этот комментарий был сведен к минимуму модератором на сайте
Чтобы устранить проблему, из-за которой это не работало в вашем файле после того, как вы его закрыли и снова открыли, вам нужно вставить код VBA в «ThisWorkbook» в разделе «Объекты Microsoft Excel» вместо нового модуля. Затем макрос будет автоматически запускаться при каждом открытии файла.
Этот комментарий был сведен к минимуму модератором на сайте
у вас есть визуальные эффекты для кода VBA, обсуждавшегося 6 дней назад, чтобы peachyclean об ThisWorkbook в Microsoft Objects вместо нового модуля. Функциональность теряется, когда я возвращаюсь в свою книгу
Этот комментарий был сведен к минимуму модератором на сайте
Кому-то это может понадобиться, я думаю, что понял, как заставить это работать.

Во-первых, ваш код должен быть написан в «ThisWorkbook» в разделе «Объекты Microsoft Excel», как предлагает @peachyclean.
Во-вторых, возьмите код, который написал @Sravanthi, и вставьте в указанное выше место.

Подпрограмма Workbook_Open()
'Обновление 20140603
Dim xWs как рабочий лист
Установите xWs = Application.ActiveSheet
Dim xPws как строка
xPws = "rfc" ''Application.InputBox("Пароль:", xTitleId, "", Тип:=2)
xWs.Protect Password:=xPws, Userinterfaceonly:=True
xWs.EnableOutlining = Истина
End Sub

Дело в том, что вам нужно быть на листе, который вы хотите защитить, но с возможностью группировки, сохранить книгу и закрыть, не защищая. Теперь, если вы откроете его, макрос запустится автоматически, он сделает лист защищенным паролем «rfc». Теперь можно пользоваться группировкой, лист защищен.

Для моего решения я изменил примененный пароль, поэтому вы можете переписать любой пароль ЗДЕСЬ:
xPws = "WRITEANYPASSWORDHERE" ''Application.InputBox("Пароль:", xTitleId, "", Тип:=2)

Кроме того, я не хотел, чтобы защищаемый лист был активен при открытии файла, поэтому я изменил эту часть:
Установите xWs = Application.ActiveSheet ->
Установите xWs = Application.Worksheets("WRITEANYSHEET'SNAMEHERE")

Теперь это работает как шарм, лист с именем «WRITEANYSHEET'SNAMEHERE» защищен, но применима группировка. В долгосрочной перспективе, я думаю, проблема будет заключаться в том, что если я захочу изменить этот файл и сохранить решение, мне нужно снять защиту с этого листа, чтобы он работал при следующем открытии. Я думаю, вы можете написать другой макрос для автоматического снятия защиты при закрытии :)


Надеюсь, это помогло.
Этот комментарий был сведен к минимуму модератором на сайте
Привет .. это творило чудеса. единственное место, где я сейчас застреваю, это то, что мне нужно сделать это для нескольких листов в книге. Пожалуйста, помогите с этим.
Этот комментарий был сведен к минимуму модератором на сайте
Эта строка оказалась именно тем, что мне было нужно, так как я ничего не знаю о VBA. Сначала мне удалось заставить это работать, но, как было указано, как только вы закроете электронную таблицу и снова откроете ее, она больше не работает. Я попытался написать код в "ThisWorkbook", как уже было сказано, но не могу понять, как это сделать. Я вижу "ThisWorkbook", но не знаю, как в нем писать. Каждый раз, когда я вижу создание модуля, он создает новый модуль в отдельной папке «Модули», за пределами папки «Объекты Microsoft Excel». Любые предложения о том, как поместить этот код в "ThisWorkbook"?
Этот комментарий был сведен к минимуму модератором на сайте
грозный
Этот комментарий был сведен к минимуму модератором на сайте
Как сгруппировать и разгруппировать строки и столбцы в защищенном листе?
Этот комментарий был сведен к минимуму модератором на сайте
f * ck, это украло мой Excel позже и изменило пароль в частном порядке
Этот комментарий был сведен к минимуму модератором на сайте
Есть ли способ заставить это работать в общей книге? - Мне нужны изменения трека, спасибо
Здесь еще нет комментариев
Загрузить ещё
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

Подписывайтесь на Нас

Copyright © 2009 - www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта
Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.
Защищено Sectigo SSL