Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Gruppieren trotz Blattschutz





Frage

Hallo, bin verzweifelt dabei, ein Excel-Makro richtig zum laufen zu bekommen. Ich habe eine Excel-Datei mit vielen Tabellenblätter. Die ganze Arbeitsmappe (d.h. alle Tabellenblätter) soll via Makro geschützt werden, aber die Gruppierung in den einzelnen Tabellenblättern muss möglich sein. Habe mir mal einen Makro zusammengebastelt nach Angaben in anderen Foren... Naja, es hätte funktionieren können... Nun, vielleicht hat jemand einen heißen Tipp, wie der Code richtig wäre :-) Hier der Code Option Explicit Sub Blätter_schützen() ' ' Blätter_schützen Makro ' Makro am 16.05.2007 von P aufgezeichnet ' ' Dim wks As Worksheet Dim i As Long Dim Passwort As String Application.ScreenUpdating = False Passwort = InputBox("Please enter password", "Password") If Passwort = "XXX" Then i = Sheets("DataInput").Index For Each wks In ThisWorkbook.Worksheets If wks.Index > i Then With wks .Protect End With End If ActiveSheet.EnableOutlining = True Next wks MsgBox "Your workbook is fully protected now!" Else MsgBox "Please enter correct password and try again" End If Sheets("DataInput").Select Range("A1").Select Application.ScreenUpdating = True End Sub

Antwort 1 von Hajo_Zi

Hallo Patricia,

Autofilterfunktion, Gruppierung bei Blattschutz möglich?
Diese Frage wurde in diesem Forum auch schon gestellt. Die Lösung damals:
Das funktioniert normalerweise nicht. Du kannst Excel aber austricksen.
Bevor Du auf Blattschützen stellst, blendest Du die Filter ein.
Dann schützt Du das Blatt
Jetzt folgendes Makro in VBA unter DieseArbeitsmappe
Sub Workbook_Open()
Sheets("Adresse").Protect UserInterfaceOnly:=True, Password:="Passwort"
Sheets("Adresse").EnableOutlining = True ' Für Gliederung
Sheets("Adresse").EnableAutoFilter = True ' Für AutoFilter
End Sub

Gruß Hajo

Antwort 2 von Patricia

Hallo Hajo,

vielen Dank für die schnelle Antwort. Doch leider kann ich als So-gut-wie-keine-Ahnung-von-VBA-Mensch nicht viel mit Deiner Antwort anfangen. Es ist so, dass ich mit dem Filter gar nix mache, also auch nicht bräuchte (oder vielleicht doch???).

Dann ist es so, dass ich schon mal einen Blattschutz-Makro hatte, wo das Gruppieren funktioniert hat. Aber anscheinend streikt Excel, sobald es mehr als ein Blatt ist...?

Dieses Makro jetzt funktioniert halt nicht für den Blattschutz. Könnte es sein, dass "ActiveSheet.EnableOutlining = True" an eine andere Stelle müsste oder der ganze Befehl vielleicht verändert werden müsste?

Danke für die Hilfe!!!

Grüßle,
Patricia

Antwort 3 von Hajo_Zi

Hallo Patricia,

wie es mein Code schn sagt, ist dies Code der unter DieseArbeitsmappe gehört.. Den Teil Autofilter kannst u ja löschen, falls er nicht benötigt wird. Den Teil Gruppierung mußt Du für jede einzelne Tabelle machen.

Sheets("Adresse").EnableOutlining = True ' Für Gliederung
Sheets("Adresse1").EnableOutlining = True ' Für Gliederung
Sheets("Adresse2").EnableOutlining = True ' Für Gliederung

Gruß Hajo

Antwort 4 von Patricia

Hallo Hajo,

vielen Dank erstmal. Probiere es dann so.

Grüße,
Patricia