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

Як згрупувати та розгрупувати рядки на захищеному аркуші?

Як ми всі знаємо, на захищеному аркуші є багато обмежень для застосування деяких операцій. Наприклад, ми не можемо перемикатися між згрупованими та розгрупованими даними. Чи є спосіб згрупувати або розгрупувати рядки на захищеному аркуші?

Групуйте та розгрупуйте рядки на захищеному аркуші за допомогою коду VBA

Вкладка Office Увімкніть редагування та перегляд вкладок в Office та значно спростіть свою роботу ...
Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%
  • Повторне використання будь-чого: Додайте найбільш уживані або складні формули, діаграми та будь-що інше до вибраного та швидко використовуйте їх у майбутньому.
  • Більше 20 функцій тексту: Витяг номера з текстового рядка; Витяг або видалення частини текстів; Перетворення чисел і валют в англійські слова.
  • Злиття інструментів: Кілька робочих книжок та аркушів в одне ціле; Об’єднати кілька клітинок / рядків / стовпців без втрати даних; Об’єднати повторювані рядки та суму.
  • Розділити інструменти: Розділити дані на кілька аркушів на основі значення; Одна робоча книга до декількох файлів Excel, PDF або CSV; Один стовпець на кілька стовпців.
  • Пропустити вставку Приховані / відфільтровані рядки; Граф і сума за кольором тла; Надіслати персоналізовані електронні листи кільком одержувачам масово.
  • Суперфільтр: Створюйте розширені схеми фільтрів і застосовуйте їх до будь-яких аркушів; сортувати за тижнями, днями, періодичністю тощо; фільтр жирним шрифтом, формули, коментар ...
  • Понад 300 потужних функцій; Працює з Office 2007-2019 та 365; Підтримує всі мови; Простота розгортання на вашому підприємстві чи в організації.

стрілка синя права міхур Групуйте та розгрупуйте рядки на захищеному аркуші за допомогою коду VBA


Можливо, немає іншого хорошого способу вирішити цю проблему, але використовуючи код VBA, будь-ласка, зробіть наступне:

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

2. Потім утримуйте клавішу ALT + F11 і відкриває Вікно Microsoft Visual Basic для програм.

3. Клацання Insert > Модуліта вставте наступний код у Вікно модуля.

Код 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-group-in-protected-sheet1

5. Потім натисніть OK, ваш аркуш захищений, але ви можете розгорнути та скоротити символи структури на цьому захищеному аркуші, див. знімок екрана:

doc-group-in-protected-sheet1

примітки: Якщо ваш аркуш уже захищений, цей код не працюватиме.


Найкращі інструменти для підвищення продуктивності офісу

Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%

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

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Коментарі (32)
Поки немає оцінок. Оцініть першим!
Цей коментар був мінімізований модератором на сайті
Здається, це чудово працює, але коли я закриваю та знову відкриваю книгу, я стикаюся з тією ж проблемою – я не можу розгорнути свої згорнуті групи.
Цей коментар був мінімізований модератором на сайті
У мене така ж проблема, хтось знає як її подолати. Велике дякую
Цей коментар був мінімізований модератором на сайті
Для цього вам потрібен VBA, і кінцевому користувачеві потрібно буде дозволити макроси, щоб це працювало.

Натисніть Alt+F11, щоб активувати редактор Visual Basic.

Двічі клацніть «Ця робоча книга» у розділі «Об’єкти Microsoft Excel» у провіднику проекту зліва.

Скопіюйте наступний код у модуль, що з'явиться:



Приватна додаткова робоча книга_Open()
З робочими аркушами ("Повний підсумок")
.EnableOutlining = Правда
.Protect UserInterfaceOnly:=Правда
Кінець з
End Sub



Цей код буде виконуватися автоматично щоразу, коли буде відкрита книга.
Цей коментар був мінімізований модератором на сайті
[quote]Здається, це працює чудово, але коли я закриваю та знову відкриваю книгу, я стикаюся з тією ж проблемою – я не можу розгорнути свої згорнуті групи.За майічем[/quote]Це питання вирішується нижче Private Sub Workbook_Open() Dim wsh як варіант для кожного wsh в робочих аркушах(Array("Sheet1", "Sheet2")) wsh.EnableOutlining = True wsh.Protect Password:="260615" , DrawingObjects:=False, _ contents:=True, _ Scenarios:=True, _ AllowFiltering:=True, _ AllowFormattingCells:=True, _ userinterfaceonly:=True Наступний wsh End Sub
Цей коментар був мінімізований модератором на сайті
У мене виникла така ж проблема, щойно я закриваю та знову вводжу аркуш, вона не працює... будь ласка, дайте крок за кроком, де і як використовувати. Це питання вирішується, як показано нижче Private Sub Workbook_Open() Dim wsh As Варіант для кожного wsh у робочих аркушах(Arra y("Sheet1", "Sheet2")) wsh.EnableOutli ning = True wsh.Protect Password:="2606 15", DrawingObjects: =False, _ contents:=True, _ Сценарії: =Вірно, _ AllowFiltering:=Правда, _ AllowFormattingCells:=Правда, _ userinterfaceonly:=Правда Наступний wsh End Sub
Цей коментар був мінімізований модератором на сайті
Велике спасибі, брате, це працює дуже добре. Дуже дякую
Цей коментар був мінімізований модератором на сайті
Як вам вдалося це зробити? Я спробував додати його до VBA вище та створити інший модуль, але він все одно не працює. Чи потрібно змінити будь-який із кодів? як мій пароль, який я використовую, чи мені потрібно змінити назви аркушів?
Цей коментар був мінімізований модератором на сайті
У мене така ж проблема, коли я закриваю книгу. Є ідеї, як це виправити?
Цей коментар був мінімізований модератором на сайті
Private Sub Workbook_Open() Dim wsh як варіант для кожного wsh у робочих аркушах(Array("TD_ phase_3", "RS_Phase_2")) wsh.EnableOutlining = True wsh.Protect Password:="260615", DrawingObjects:=False, _ contents: =Вірно, _ Сценарии:=Правда, _ AllowFiltering:=Правда, _ AllowFormattingCells:=Правда, _ userinterfaceonly:=Правда Наступний wsh End Sub
Цей коментар був мінімізований модератором на сайті
Досі не знаю, як це працює. Створити новий модуль чи приєднати до наведеного вище?
Цей коментар був мінімізований модератором на сайті
Чи можете ви зробити крок за кроком, куди це помістити, як це було в оригінальних інструкціях. Дякую.
Цей коментар був мінімізований модератором на сайті
Привіт! Я успішно використав перший макрос, а потім виникла та ж проблема із закриттям книги, і макрос більше не працював. Я бачу рішення вище, але взагалі не можу змусити його працювати. Не могли б ви підтримати мене? Комбінувати обидва коди чи використовувати лише останній? Якщо мій пароль «собака», чи заміню я одне зі значень у коді? Я звертаюся лише до одного робочого аркуша ("Аркуш1"); я використовую це десь? Велике спасибі наперед!!
Цей коментар був мінімізований модератором на сайті
Будь ласка, допоможіть мені, я хочу згорнути та розгорнути деякі рулони та стовпці в електронній таблиці Excel, яка захищена. Як я можу використовувати макроси для цього? Я спробував те, що ви показали, але вони просто не працюють у моїй електронній таблиці. Будь ласка, допоможіть.
Цей коментар був мінімізований модератором на сайті
Привіт, допоможіть мені розгорнути та згорнути рулони та стовпці в захищеній електронній таблиці Excel. Я спробував використовувати ті, які ви показали вище, але вони не працюють.
Цей коментар був мінімізований модератором на сайті
Чи було це запитання/відповідь? Де в коді можна вказати/змінити особистий пароль?
Цей коментар був мінімізований модератором на сайті
Як я можу змінити пароль на інше значення?
Цей коментар був мінімізований модератором на сайті
Коли я використовую команду, я бачу повідомлення про помилку, як показано нижче:
Приватна додаткова робоча книга_Open()
Dim wsh Як варіант
Для кожного wsh в робочих аркушах (масив("TD_ phase_3", "RS_Phase_2"))
wsh.EnableOutlining = Правда
wsh.Protect Password:="260615", DrawingObjects:=False, _
contents:=Правда, _
Сценарії:=Правда, _
AllowFiltering:=Правда, _
AllowFormattingCells:=Вірно, _
userinterfaceonly:=Правда
Наступний wsh
End Sub
Помилка часу виконання "9":
Індекс поза межами діапазону
Цей коментар був мінімізований модератором на сайті
це працює деякий час, як тільки ви закриєте та відкриєте знову, воно припиняється :(
Цей коментар був мінімізований модератором на сайті
Навіть для мене чи є інше рішення?
Цей коментар був мінімізований модератором на сайті
Підкладна книга_Відкрити()
'Оновлення 20140603
Dim xWs як робочий аркуш
Встановіть xWs = Application.ActiveSheet
Dim xPws як рядок
xPws = "rfc" ''Application.InputBox("Password:", xTitleId, "", Type:=2)
xWs.Protect Password:=xPws, Userinterfaceonly:=True
xWs.EnableOutlining = Правда
End Sub
Цей коментар був мінімізований модератором на сайті
Я змусив цей код працювати. Але коли я закриваю та знову відкриваю, я повинен перейти на вкладку розробника, вибрати кнопку макросів, вибрати запуск і ввести пароль.

Чи є спосіб видалити пароль із коду АБО код автоматичного запуску, який автоматично запускатиме цей marco та вводить пароль?
Цей коментар був мінімізований модератором на сайті
Щоб усунути проблему, через яку це не працювало у вашому файлі після того, як ви закрили його та знову відкрили, вам потрібно вставити код VBA в "This Workbook" у Microsoft Excel Objects замість нового модуля. Після цього макрос автоматично запускатиметься щоразу, коли файл відкривається.
Цей коментар був мінімізований модератором на сайті
чи є у вас візуальні елементи для коду VBA, обговорюваного 6 днів тому, щоб розібратися в ThisWorkbook під Microsoft Objects замість нового модуля. Функціональність втрачається, коли я повертаюся до своєї робочої книги
Цей коментар був мінімізований модератором на сайті
Комусь це може знадобитися, я думаю, що я зрозумів, як це зробити.

По-перше, ваш код потрібно написати в "This Workbook" у Microsoft Excel Objects, як пропонує @peachyclean.
По-друге, візьміть код, який написав @Sravanthi, і вставте його у вищезгадане місце.

Підкладна книга_Відкрити()
'Оновлення 20140603
Dim xWs як робочий аркуш
Встановіть xWs = Application.ActiveSheet
Dim xPws як рядок
xPws = "rfc" ''Application.InputBox("Password:", xTitleId, "", Type:=2)
xWs.Protect Password:=xPws, Userinterfaceonly:=True
xWs.EnableOutlining = Правда
End Sub

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

Для свого рішення я змінив застосований пароль, тому ви можете переписати будь-який пароль ТУТ:
xPws = "WRITEANYPASSWORDHERE" ''Application.InputBox("Password:", xTitleId, "", Type:=2)

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

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


Сподіваюся, це допомогло.
Цей коментар був мінімізований модератором на сайті
Привіт.. це творило чудеса. Єдине, де я зараз застряг, це те, що мені потрібно зробити це для кількох аркушів робочої книги. чи можете ви, будь ласка, допоможіть з цим.
Цей коментар був мінімізований модератором на сайті
Цей рядок був саме тим, що мені потрібно, оскільки я нічого не знаю про VBA. Спочатку мені вдалося змусити це працювати, але, як було зазначено, як тільки ви закриєте електронну таблицю та знову відкриєте її, вона більше не працює. Я спробував написати код у "ThisWorkbook", як зазначено, але я не можу зрозуміти, як це зробити. Я бачу "Цей зошит", але не знаю, як у ньому писати. Як я бачу, щоб створити модуль, він створює новий модуль в окремій папці «Модулі», за межами папки «Об’єкти Microsoft Excel». Будь-які пропозиції щодо того, як розмістити цей код у "ThisWorkbook"?
Цей коментар був мінімізований модератором на сайті
чудовий
Цей коментар був мінімізований модератором на сайті
Як згрупувати та розгрупувати рядки та стовпці на захищеному аркуші?
Цей коментар був мінімізований модератором на сайті
Б*к, це пізніше вкрало мій Excel і приватно змінило пароль
Цей коментар був мінімізований модератором на сайті
Чи є спосіб змусити це працювати в спільній книзі? - Мені потрібні зміни в треку, дякую
There are no comments posted here yet
Load More
Залишайте свої коментарі
Публікація як гість
×
Оцініть цю публікацію:
0   Персонажі
Рекомендовані місця