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

Jak grupować i rozgrupowywać wiersze w chronionym arkuszu?

Jak wszyscy wiemy, w chronionym arkuszu roboczym istnieje wiele ograniczeń dotyczących wykonywania niektórych operacji. Na przykład nie możemy przełączać się między danymi zgrupowanymi i niezgrupowanymi. Czy istnieje sposób na grupowanie lub rozgrupowywanie wierszy w chronionym arkuszu?

Grupuj i rozgrupuj wiersze w chronionym arkuszu z kodem VBA

Karta Office Włącz edycję i przeglądanie na kartach w pakiecie Office i znacznie ułatw swoją pracę ...
Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%
  • Wykorzystaj wszystko ponownie: Dodaj najczęściej używane lub złożone formuły, wykresy i wszystko inne do ulubionych i szybko wykorzystaj je ponownie w przyszłości.
  • Ponad 20 funkcji tekstowych: Wyodrębnij liczbę z ciągu tekstowego; Wyodrębnij lub usuń część tekstów; Konwertuj liczby i waluty na angielskie słowa.
  • Narzędzia do scalania: Wiele skoroszytów i arkuszy w jeden; Scal wiele komórek / wierszy / kolumn bez utraty danych; Połącz zduplikowane wiersze i sumę.
  • Podziel narzędzia: Podziel dane na wiele arkuszy na podstawie wartości; Jeden skoroszyt do wielu plików Excel, PDF lub CSV; Jedna kolumna na wiele kolumn.
  • Wklej pomijanie Ukryte / filtrowane wiersze; Policz i suma według koloru tła; Wysyłaj spersonalizowane wiadomości e-mail do wielu odbiorców zbiorczo.
  • Super filtr: Twórz zaawansowane schematy filtrów i stosuj do dowolnych arkuszy; Sortuj według tygodnia, dnia, częstotliwości i nie tylko; Filtruj pogrubieniem, formułami, komentarzem ...
  • Ponad 300 zaawansowanych funkcji; Współpracuje z Office 2007-2021 i 365; Obsługuje wszystkie języki; Łatwe wdrażanie w przedsiębiorstwie lub organizacji.

strzałka niebieski prawy bąbelek Grupuj i rozgrupuj wiersze w chronionym arkuszu z kodem VBA

Być może nie ma innego dobrego sposobu rozwiązania tego problemu, ale używając kodu VBA, wykonaj następujące czynności:

1. Aktywuj arkusz roboczy, którego chcesz użyć, upewnij się, że arkusz nie jest jeszcze chroniony.

2. Następnie przytrzymaj ALT + F11 klucze i otwiera plik Okno Microsoft Visual Basic for Applications.

3, Kliknij wstawka > Modułi wklej następujący kod w Okno modułu.

Kod VBA: grupuj i rozgrupuj wiersze w chronionym arkuszu

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. Następnie naciśnij F5 klucz do uruchomienia tego kodu, a pojawi się okienko z przypomnieniem o wprowadzeniu hasła w celu ochrony bieżącego arkusza. Zobacz zrzut ekranu:

grupa-dokumentów-w-chronionym-arkuszu1

5. Następnie kliknij OK, twój arkusz roboczy został chroniony, ale możesz rozwinąć i zmniejszyć symbole konspektu w tym chronionym arkuszu roboczym, zobacz zrzut ekranu:

grupa-dokumentów-w-chronionym-arkuszu1

Uwagi: Jeśli Twój arkusz jest już chroniony, ten kod nie będzie działał.


Najlepsze narzędzia biurowe

Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%

  • Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
  • Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
  • Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
  • Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
  • Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
  • Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
  • Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
  • Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
  • Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2021 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowa bezpłatna wersja próbna. 60-dniowa gwarancja zwrotu pieniędzy.
karta kte 201905

Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
officetab dół
Sortuj komentarze według
Komentarze (32)
Brak ocen. Oceń jako pierwszy!
Ten komentarz został zminimalizowany przez moderatora na stronie
Wydaje się, że to działa świetnie, ale kiedy zamykam i ponownie otwieram skoroszyt, napotykam ten sam problem — nie mogę rozwinąć moich zwiniętych grup.
Ten komentarz został zminimalizowany przez moderatora na stronie
Mam ten sam problem, czy ktoś wie jak go przezwyciężyć. Wielkie dzięki
Ten komentarz został zminimalizowany przez moderatora na stronie
Potrzebujesz do tego VBA, a użytkownik końcowy będzie musiał zezwolić na działanie makr.

Naciśnij klawisze Alt+F11, aby aktywować Edytor Visual Basic.

Kliknij dwukrotnie ThisWorkbook, w obszarze Microsoft Excel Objects w eksploratorze projektów po lewej stronie.

Skopiuj następujący kod do wyświetlonego modułu:



Private Sub Workbook_Open ()
Z arkuszami roboczymi("Podsumowanie EMP")
.EnableOutlining = Prawda
.Protect UserInterfaceOnly:=True
Kończyć z
End Sub



Ten kod zostanie wykonany automatycznie przy każdym otwarciu skoroszytu.
Ten komentarz został zminimalizowany przez moderatora na stronie
[cytat] Wydaje się, że to działa świetnie, ale kiedy zamykam i ponownie otwieram skoroszyt, napotykam ten sam problem – nie mogę rozwinąć moich zwiniętych grup.By Mayich[/quote]Ta sprawa została rozwiązana w następujący sposób 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, _ content:=True, _ Scenarios:=True, _ AllowFiltering:=True, _ AllowFormattingCells:=True, _ userinterfaceonly:=True Następny wsh End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Mam ten sam problem, jak tylko zamknę i ponownie wprowadzę arkusz, to nie działa... proszę podać krok po kroku gdzie i jak używać Sprawa jest rozwiązana jak poniżej Private Sub Workbook_Open() Dim wsh As Wariant dla każdego wsh In Worksheets(Arra y("Sheet1", "Sheet2")) wsh.EnableOutlin ning = True wsh.Protect Password:="2606 15", DrawingObjects: =False, _ content:=True, _ Scenarios: =True, _ AllowFiltering:=True, _ AllowFormattingCells:=True, _ userinterfaceonly:=True Następny wsh End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Dziękuję bardzo, bracie, to działa naprawdę nieźle. Wielkie dzięki
Ten komentarz został zminimalizowany przez moderatora na stronie
Jak udało ci się to zadziałać? Próbowałem dodać go do powyższego VBA i stworzyć inny moduł, ale nadal nie działa. Czy muszę zmienić któryś z kodów? jak moje hasło, którego używam, czy muszę zmienić nazwy arkuszy?
Ten komentarz został zminimalizowany przez moderatora na stronie
Mam ten sam problem, kiedy zamykam skoroszyt. Jakieś pomysły, aby to naprawić?
Ten komentarz został zminimalizowany przez moderatora na stronie
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, _ content: =Prawda, _ Scenariusze:=Prawda, _ AllowFiltering:=Prawda, _ AllowFormattingCells:=Prawda, _ userinterfaceonly:=Prawda Następny wsh Koniec Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Nadal nie jestem pewien, jak to działa. Czy robię nowy moduł czy dołączam do powyższego?
Ten komentarz został zminimalizowany przez moderatora na stronie
Czy możesz krok po kroku przejść przez to, gdzie to umieścić, tak jak to zrobili w oryginalnej instrukcji. Dziękuję Ci.
Ten komentarz został zminimalizowany przez moderatora na stronie
Witam! Użyłem pierwszego makra z powodzeniem, a potem miałem ten sam problem z zamknięciem skoroszytu i makro już nie działało. Widzę powyższe rozwiązanie, ale nie mogę go w ogóle uruchomić. Czy mógłbyś mnie przeprowadzić? Czy łączę oba kody, czy po prostu używam tego drugiego? Jeśli moje hasło to „pies”, czy mam zastąpić jedną z wartości w kodzie? Aplikuję tylko do jednego arkusza roboczego ("Arkusz1"); czy używam tego gdziekolwiek? Z góry bardzo dziękuję!!
Ten komentarz został zminimalizowany przez moderatora na stronie
Pomóż mi, chcę zwinąć i rozwinąć niektóre role i kolumny w chronionym arkuszu kalkulacyjnym programu Excel. Jak mogę użyć do tego makr? Próbowałem tego, co pokazałeś, ale po prostu nie działają w moim arkuszu kalkulacyjnym. Proszę pomóż.
Ten komentarz został zminimalizowany przez moderatora na stronie
Witam, proszę o pomoc w rozwijaniu i zwijaniu rolek i kolumn w chronionym arkuszu kalkulacyjnym programu Excel. Próbowałem użyć tych, które pokazałeś powyżej, ale nie działają.
Ten komentarz został zminimalizowany przez moderatora na stronie
Czy zostało zadane pytanie / odpowiedź? Gdzie w kodzie możesz określić/zmienić osobiste hasło?
Ten komentarz został zminimalizowany przez moderatora na stronie
Jak zmienić hasło na inną wartość?
Ten komentarz został zminimalizowany przez moderatora na stronie
Kiedy używam polecenia, widzę komunikat o błędzie, jak pokazano poniżej:
Private Sub Workbook_Open ()
Dim wsh Jako wariant
Dla każdego wsh In Arkusze(Array("TD_faza_3", "RS_Phase_2"))
wsh.EnableOutlining = Prawda
wsh.Protect Password:="260615", DrawingObjects:=Fałsz, _
zawartość:=Prawda, _
Scenariusze:=Prawda, _
Zezwalaj na filtrowanie:=Prawda, _
AllowFormattingCells:=True, _
userinterfaceonly:=True
Następny wsz
End Sub
Błąd wykonania „9”:
Indeks dolny poza zakresem
Ten komentarz został zminimalizowany przez moderatora na stronie
to działa przez chwilę, po zamknięciu i ponownym otwarciu zatrzymuje się :(
Ten komentarz został zminimalizowany przez moderatora na stronie
Nawet dla mnie, czy jest jakieś inne rozwiązanie?
Ten komentarz został zminimalizowany przez moderatora na stronie
Skoroszyt pomocniczy_Otwórz()
„Aktualizacja 20140603”
Dim xWs jako arkusz roboczy
Ustaw xWs = Application.ActiveSheet
Dim xPws jako ciąg
xPws = "rfc" ''Application.InputBox("Hasło:", xTitleId, "", Typ:=2)
xWs.Protect Hasło:=xPws, Userinterfaceonly:=True
xWs.EnableOutlining = Prawda
End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Mam ten kod do działania. Ale kiedy zamykam i ponownie otwieram, muszę przejść do zakładki programisty, wybrać przycisk makr, wybrać uruchom i wprowadzić hasło.

Czy istnieje sposób na usunięcie hasła z kodu LUB kod automatycznego uruchamiania, który automatycznie uruchomi to marco i wprowadzi hasło?
Ten komentarz został zminimalizowany przez moderatora na stronie
Aby rozwiązać problem, który nie działa w twoim pliku po zamknięciu go i ponownym otwarciu, musisz wkleić kod VBA w „ThisWorkbook” w obszarze Microsoft Excel Objects zamiast nowego modułu. Spowoduje to automatyczne uruchomienie makra za każdym razem, gdy plik zostanie otwarty.
Ten komentarz został zminimalizowany przez moderatora na stronie
czy masz wizualizacje dla kodu VBA omówionego 6 dni temu, aby peachyclean o ThisWorkbook pod Microsoft Objects zamiast nowego modułu. Funkcjonalność zostaje utracona, gdy wracam do skoroszytu
Ten komentarz został zminimalizowany przez moderatora na stronie
Ktoś może tego potrzebować, myślę, że wymyśliłem, jak to działa.

Po pierwsze, twój kod musi być napisany w „ThisWorkbook” pod obiektami Microsoft Excel, jak sugeruje @peachyclean.
Po drugie, weź kod, który napisał @Sravanthi, i wklej go do wyżej wymienionej lokalizacji.

Skoroszyt pomocniczy_Otwórz()
„Aktualizacja 20140603”
Dim xWs jako arkusz roboczy
Ustaw xWs = Application.ActiveSheet
Dim xPws jako ciąg
xPws = "rfc" ''Application.InputBox("Hasło:", xTitleId, "", Typ:=2)
xWs.Protect Hasło:=xPws, Userinterfaceonly:=True
xWs.EnableOutlining = Prawda
End Sub

Chodzi o to, że musisz znaleźć się na arkuszu, który chcesz chronić, ale zezwalając na grupowanie, i zapisać skoroszyt i zamknąć, bez ochrony. Teraz jeśli go otworzysz, makro uruchomi się automatycznie, dzięki czemu arkusz będzie chroniony hasłem „rfc”. Teraz możesz korzystać z grupowania, arkusz jest chroniony.

W moim rozwiązaniu zmodyfikowałem zastosowane hasło, więc możesz przepisać dowolne hasło TUTAJ:
xPws = "WRITEANYPASSWORDHERE" ''Application.InputBox("Hasło:", xTitleId, "", Typ:=2)

Ponadto nie chciałem, aby arkusz, który ma być chroniony, był aktywny podczas otwierania pliku, dlatego zmodyfikowałem tę część:
Ustaw xWs = Application.ActiveSheet ->
Ustaw xWs = Application.Worksheets("TUTAJ NAZWA KARTY WRITEAN")

Teraz działa jak zaklęcie, arkusz o nazwie 'WRITEANYSHEET'SNAMEHERE' jest chroniony, ale grupowanie ma zastosowanie. Myślę, że na dłuższą metę problem będzie polegał na tym, że jeśli chcę zmodyfikować ten plik i zachować rozwiązanie, muszę odbezpieczyć ten arkusz, aby działał przy następnym otwarciu. Myślę, że możesz napisać kolejne makro, które automatycznie odblokuje ochronę podczas zamykania :)


Mam nadzieję, że to pomogło.
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć... to zdziałało cuda. jedynym miejscem, w którym teraz utknąłem, jest to, że muszę to zrobić dla wielu arkuszy w skoroszycie. czy możesz mi w tym pomóc.
Ten komentarz został zminimalizowany przez moderatora na stronie
Ten ciąg wyglądał na dokładnie to, czego potrzebowałem, ponieważ nic nie wiem o VBA. Udało mi się to początkowo uruchomić, ale jak wskazano, po zamknięciu arkusza kalkulacyjnego i ponownym otwarciu, to już nie działa. Próbowałem napisać kod w „ThisWorkbook”, jak wspomniano, ale nie wiem, jak to zrobić. Widzę „ThisWorkbook”, ale nie wiem, jak w nim pisać. Każdy sposób, w jaki widzę, aby utworzyć moduł, tworzy nowy moduł w osobnym folderze „Moduły”, poza folderem „Microsoft Excel Objects”. Jakieś sugestie, jak umieścić ten kod w "ThisWorkbook"?
Ten komentarz został zminimalizowany przez moderatora na stronie
wielki
Ten komentarz został zminimalizowany przez moderatora na stronie
Jak grupować i rozgrupowywać wiersze i kolumny w chronionym arkuszu roboczym?
Ten komentarz został zminimalizowany przez moderatora na stronie
Kurwa, to później ukradło mi Excela i zmieniło hasło prywatnie
Ten komentarz został zminimalizowany przez moderatora na stronie
Czy istnieje sposób, aby to zadziałało w udostępnionym skoroszycie? - Potrzebuję zmian w utworze, dzięki
Nie ma tu jeszcze żadnych komentarzy
Pokaż więcej
Zostaw swój komentarz
Publikowanie jako gość
×
Oceń ten post:
0   Postacie
Sugerowane lokalizacje

Bądż na bieżąco

Prawa autorskie © 2009 - www.extendoffice.com. | Wszelkie prawa zastrzeżone. Zasilany przez ExtendOffice, | Mapa strony
Microsoft i logo Office są znakami towarowymi lub zastrzeżonymi znakami towarowymi Microsoft Corporation w Stanach Zjednoczonych i / lub innych krajach.
Chronione przez Sectigo SSL