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

Hur grupperar och avgrupperar du rader i skyddat kalkylblad?

Som vi alla vet finns det i ett skyddat kalkylblad många begränsningar för oss att tillämpa vissa operationer. Såsom, vi kan inte växla mellan grupperade och icke-grupperade data. Finns det ett sätt att gruppera eller avgruppera rader i ett skyddat kalkylblad?

Gruppera och gruppera rader i ett skyddat kalkylblad med VBA-kod

Fliken Office Aktiverar flikredigering och surfning i Office, och gör ditt arbete mycket enklare ...
Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%
  • Återanvänd allt: Lägg till de mest använda eller komplexa formlerna, diagrammen och allt annat till dina favoriter och återanvänd dem snabbt i framtiden.
  • Mer än 20 textfunktioner: Extrahera nummer från textsträng; Extrahera eller ta bort en del av texterna; Konvertera siffror och valutor till engelska ord.
  • Sammanfoga verktyg: Flera arbetsböcker och ark till en; Slå ihop flera celler / rader / kolumner utan att förlora data; Slå samman duplicerade rader och summa.
  • Dela verktyg: Dela data i flera ark baserat på värde; En arbetsbok för flera Excel-, PDF- eller CSV-filer; En kolumn till flera kolumner.
  • Klistra över Dolda / filtrerade rader; Räkna och summa av bakgrundsfärg; Skicka personliga e-postmeddelanden till flera mottagare i bulk.
  • Superfilter: Skapa avancerade filterscheman och tillämpas på alla ark; Svart per vecka, dag, frekvens och mer; Filter med fetstil, formler, kommentarer ...
  • Mer än 300 kraftfulla funktioner; Fungerar med Office 2007-2021 och 365; Stöder alla språk; Enkel implementering i ditt företag eller organisation.

pil blå höger bubbla Gruppera och gruppera rader i ett skyddat kalkylblad med VBA-kod

Kanske finns det inget annat bra sätt att lösa detta problem, men använd en VBA-kod, gör så här:

1. Aktivera ditt kalkylblad som du vill använda, se till att kalkylbladet inte är skyddat än.

2. Håll sedan ner ALT + F11 knapparna och det öppnar Microsoft Visual Basic for Applications-fönstret.

3. Klicka Insert > Modulernaoch klistra in följande kod i Modulfönster.

VBA-kod: Gruppera och gruppera rader i ett skyddat kalkylblad

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. Tryck sedan på F5 -knappen för att köra den här koden och en snabbruta dyker upp för att påminna dig om att du anger lösenordet för att skydda det aktuella kalkylbladet. Se skärmdump:

doc-grupp-i-skyddad-ark1

5. Klicka sedan OK, ditt kalkylblad har skyddats, men du kan expandera och kontrahera kontursymbolerna i det skyddade kalkylbladet, se skärmdump:

doc-grupp-i-skyddad-ark1

Anmärkningar: Om ditt kalkylblad redan är skyddat fungerar den här koden inte.


De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.
kte-flik 201905

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
officetab botten
Sortera kommentarer efter
Kommentarer (32)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
Det här verkar fungera utmärkt, men när jag stänger och öppnar arbetsboken igen stöter jag på samma problem - jag kan inte utöka mina kollapsade grupper.
Denna kommentar minimerades av moderatoren på webbplatsen
Jag har samma problem, någon som vet hur man löser det. Tack så mycket
Denna kommentar minimerades av moderatoren på webbplatsen
Du behöver VBA för detta, och slutanvändaren måste tillåta makron för att detta ska fungera.

Tryck på Alt+F11 för att aktivera Visual Basic Editor.

Dubbelklicka på ThisWorkbook under Microsoft Excel-objekt i projektutforskaren på vänster sida.

Kopiera följande kod till modulen som visas:



Privat Sub Workbook_Open ()
Med kalkylblad ("Emp Summary")
.EnableOutlining = Sant
.Protect UserInterFaceOnly: = true
Sluta med
End Sub



Denna kod kommer att köras automatiskt varje gång arbetsboken öppnas.
Denna kommentar minimerades av moderatoren på webbplatsen
[citat]Detta verkar fungera utmärkt, men när jag stänger och öppnar arbetsboken igen stöter jag på samma problem - jag kan inte utöka mina kollapsade grupper.Av Mayich[/quote]Den frågan löses som nedan. Private Sub Workbook_Open() Dim wsh Som variant för varje 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
Denna kommentar minimerades av moderatoren på webbplatsen
Jag fick samma problem, så fort jag stänger och går in i arket igen, det fungerar inte... vänligen ge steg för steg var och hur man använder Det ärendet löses som nedan. Privat Sub Workbook_Open() Dim wsh As Variant för varje wsh In Worksheets(Arra y("Sheet1", "Sheet2")) wsh.EnableOutli ning = True wsh.Protect Password:="2606 15", DrawingObjects: =False, _ contents:=True, _ Scenarios: =True, _ AllowFiltering:=True, _ AllowFormattingCells:=True, _ userinterfaceonly:=True Next wsh End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
Tack så mycket brorsan detta fungerar riktigt nice.Thanks mycket
Denna kommentar minimerades av moderatoren på webbplatsen
Hur fick du det här att fungera? Jag har försökt lägga till den i VBA ovan och göra en annan modul men det fungerar fortfarande inte. Behöver jag ändra någon av koderna? gillar mitt lösenord jag använder eller måste jag ändra arknamnen?
Denna kommentar minimerades av moderatoren på webbplatsen
Jag har samma problem när jag stänger arbetsboken. Några idéer för att fixa det?
Denna kommentar minimerades av moderatoren på webbplatsen
Private Sub Workbook_Open() Dim wsh Som variant för varje wsh In Worksheets(Array("TD_ phase_3", "RS_Phase_2")) wsh.EnableOutlining = True wsh.Protect Password:="260615", DrawingObjects:=False, _ contents: =True, _ Scenarios:=True, _ AllowFiltering:=True, _ AllowFormattingCells:=True, _ userinterfaceonly:=True Next wsh End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
Fortfarande inte säker på hur detta fungerar. Ska jag göra en ny modul eller koppla till den ovan?
Denna kommentar minimerades av moderatoren på webbplatsen
Kan du göra en steg för steg genomgång av var du ska placera detta som de gjorde i de ursprungliga instruktionerna. Tack.
Denna kommentar minimerades av moderatoren på webbplatsen
Hallå! Jag använde det första makrot med framgång och hade sedan samma problem med att stänga arbetsboken och makrot fungerade inte längre. Jag ser lösningen ovan men kan inte få det att fungera alls. Skulle du kunna kliva igenom mig? Kombinerar jag båda koderna eller använder jag bara den senare? Om mitt lösenord är "hund" byter jag ut ett av värdena i koden? Jag ansöker bara om ett arbetsblad ("Sheet1"); använder jag det någonstans? Stort tack på förhand!!
Denna kommentar minimerades av moderatoren på webbplatsen
Snälla hjälp mig, jag vill komprimera och utöka några rullar och kolumner i ett excel-kalkylblad som är skyddat. Hur kan jag använda makron för att göra detta? Jag har provat det du visade men de fungerar helt enkelt inte på mitt kalkylark. Snälla hjälp.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, hjälp mig att expandera och komprimera rullar och kolumner i excel-kalkylark som är skyddat. Jag försökte använda de du visade ovan men de fungerar inte.
Denna kommentar minimerades av moderatoren på webbplatsen
Har det blivit frågat/besvarat? Var i koden kan man ange/ändra ett personligt lösenord?
Denna kommentar minimerades av moderatoren på webbplatsen
Hur kan jag ändra lösenordet till ett annat värde?
Denna kommentar minimerades av moderatoren på webbplatsen
När jag använder kommandot ser jag ett felmeddelande som visas nedan:
Privat Sub Workbook_Open ()
Dim wsh som variant
För varje wsh i kalkylblad(Array("TD_ phase_3", "RS_Phase_2"))
wsh.EnableOutlining = Sant
wsh.Protect Password:="260615", DrawingObjects:=False, _
contents:=Sant, _
Scenarier:=Sant, _
Tillåtna filtrering: = true, _
TillåtsformatingCells: = true, _
userinterfaceonly:=Sant
Nästa wsh
End Sub
Körtidsfel '9':
Subscript utanför sortimentet
Denna kommentar minimerades av moderatoren på webbplatsen
det här fungerar ett tag, när du väl stänger och öppnar igen så slutar det :(
Denna kommentar minimerades av moderatoren på webbplatsen
Även för mig, finns det någon annan lösning?
Denna kommentar minimerades av moderatoren på webbplatsen
Sub Workbook_Open()
'Uppdatering 20140603
Dim xWs Som arbetsblad
Ställ in xWs = Application.ActiveSheet
Dim xpws som sträng
xPws = "rfc" ''Application.InputBox("Lösenord:", xTitleId, "", Typ:=2)
xWs.Protect Password:=xPws, Userinterfaceonly:=True
xWs.EnableOutlining = Sant
End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
Jag har fått den här koden att fungera. Men när jag stänger och öppnar igen måste jag gå till utvecklarfliken, välj makroknappen, välj kör och ange lösenordet.

Finns det något sätt att ta bort lösenordet från koden ELLER en autokörningskod som automatiskt kör denna marco och anger lösenordet?
Denna kommentar minimerades av moderatoren på webbplatsen
För att åtgärda problemet med att detta inte fungerar i din fil efter att du har stängt den och öppnat den igen, måste du klistra in VBA-koden i "ThisWorkbook" under Microsoft Excel Objects istället för en ny modul. Detta kommer sedan automatiskt att köra makrot varje gång filen öppnas.
Denna kommentar minimerades av moderatoren på webbplatsen
har du bilder för VBA-koden som diskuterades för 6 dagar sedan för att peachyclean om ThisWorkbook under Microsoft Objects istället för en ny modul. Funktionaliteten går förlorad när jag går tillbaka till min arbetsbok
Denna kommentar minimerades av moderatoren på webbplatsen
Någon kanske behöver det här, jag tror att jag har kommit på hur man får det här att fungera.

Först måste din kod skrivas i "ThisWorkbook" under Microsoft Excel Objects, som @peachyclean föreslår.
För det andra, ta koden som @Sravanthi skrev och klistra in på ovan nämnda plats.

Sub Workbook_Open()
'Uppdatering 20140603
Dim xWs Som arbetsblad
Ställ in xWs = Application.ActiveSheet
Dim xpws som sträng
xPws = "rfc" ''Application.InputBox("Lösenord:", xTitleId, "", Typ:=2)
xWs.Protect Password:=xPws, Userinterfaceonly:=True
xWs.EnableOutlining = Sant
End Sub

Saken är att du måste vara på arket som du vill skydda men tillåta att använda gruppering, och spara arbetsboken och stänga, utan att skydda. Om du nu öppnar det, startar makrot automatiskt, det kommer att göra arket skyddat med lösenordet "rfc". Nu kan du använda grupperingen, arket är skyddat.

För min lösning har jag ändrat lösenordet, så att du kan skriva om vilket lösenord som helst HÄR:
xPws = "WRITEANYPASSWORDHERE" ''Application.InputBox("Lösenord:", xTitleId, "", Typ:=2)

Dessutom ville jag inte att arket som skulle skyddas var aktivt när jag öppnade filen, därför har jag ändrat den här delen:
Ställ in xWs = Application.ActiveSheet ->
Ställ in xWs = Application.Worksheets("WRITEANYSHEET'SNAMEHERE")

Nu fungerar det som charm, arket "WRITEANYSHEET'SNAMEHERE" är skyddat men grupperingen är tillämplig. På lång sikt tror jag att problemet kommer att vara att om jag vill modifiera den här filen och behålla lösningen måste jag avskydda det här arket för att få det att fungera vid nästa öppning. Jag antar att du kan skriva ett annat makro för att automatiskt ta bort skyddet när du stänger :)


Jag hoppas att det hjälpte.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej.. detta gjorde underverk. det enda stället där jag fastnar nu är att jag måste göra detta för flera ark i arbetsboken. kan du hjälpa till med det.
Denna kommentar minimerades av moderatoren på webbplatsen
Den här strängen såg ut att vara precis vad jag behövde, eftersom jag inte vet något om VBA. Jag kunde få detta att fungera initialt men som påpekades, när du stänger kalkylarket och öppnar det igen, fungerar det inte längre. Jag försökte skriva koden i "ThisWorkbook" som nämnts men jag kan inte komma på hur man gör det. Jag kan se "ThisWorkbook" men jag vet inte hur jag ska skriva i den. Varje sätt jag ser för att skapa en modul, skapar den en ny modul i en separat "Modules"-mapp, utanför mappen "Microsoft Excel Objects". Några förslag på hur man lägger in den här koden i "ThisWorkbook"?
Denna kommentar minimerades av moderatoren på webbplatsen
formidabel
Denna kommentar minimerades av moderatoren på webbplatsen
Hur grupperar man och delar upp rader och kolumner i ett skyddat arbetsblad?
Denna kommentar minimerades av moderatoren på webbplatsen
fan, detta stal mitt excel senare och bytte lösenord privat
Denna kommentar minimerades av moderatoren på webbplatsen
Finns det något sätt att få detta att fungera på en delad arbetsbok? - Jag behöver byten av spår, tack
Det finns inga kommentarer här ännu
Ladda fler
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL