Gliederung im geschützten Tabellenblatt

Bild

Betrifft: Gliederung im geschützten Tabellenblatt
von: Ralf
Geschrieben am: 03.11.2015 07:56:49

Hallo Forum,
ich habe folgende Codezeile um Tabellenblätter einer Mappe zu schützen.
Ich möchte nun die Funktion Gliederung zulassen, bekomme aber immer eine Fehlermeldung.
Kann mir bitte jemand eine funktionierende Schreibweise nennen?
Outlining = True
AllowOutlining = True
EnableOutlining = True
habe ich schon probiert

Sub Tabellenblatt_sperren()
    ActiveSheet.Protect Password:="Passwort", DrawingObjects:=True, Contents:=True, Scenarios:= _
True, AllowFiltering:=True, Outlining = True
End Sub
Vielen Dank im Voraus für eine Rückmeldung.
Viele Grüße
Ralf

Bild

Betrifft: evtl. Outlining:=True oT.
von: Tino
Geschrieben am: 03.11.2015 08:21:21


Bild

Betrifft: AW: evtl. Outlining:=True oT.
von: Ralf
Geschrieben am: 03.11.2015 08:30:08
Hallo Tino,
ich habe einen meiner Fehler schon erkannt:
Ich habe den Doppelpunkt vergessen.
Jetzt habe ich meine 3 Schreibweisen nochmals mit Doppelpunkt probiert. Es geht trotzdem nicht.
Es erscheint die Fehlermeldung:
Userbild
Viele Grüße
Ralf

Bild

Betrifft: AW: Hier ein Beispiel mit EnableOutlining=True
von: Michael (migre)
Geschrieben am: 03.11.2015 08:54:00
Hallo Ralf!
Hatte ich gerade parat, weil das unlängst schon gefragt wurde. Hier als Beispiel, anpassen musst Du ggf. selbst:

For Each ws In ThisWorkbook.Worksheets
        ws.Protect Password:="Test", AllowFormattingColumns:=True
        ws.EnableOutlining = True
Next
Entscheidend ist die Reihenfolge: Zuerst Blattschutz, dann Gliederungen zulassen (auf dem Blatt, nicht innerhalb des Schutzes). Beachte: In meinem Beispiel lasse ich die Bearbeitung von Spalten zu, wenn die Gliederung auf Spalten greifen soll; liegt die Gliederung auf Zeilen, musst Du die Zeilen-Bearbeitung zulassen.
LG
Michael

Bild

Betrifft: AW: Hier ein Beispiel mit EnableOutlining=True
von: Ralf
Geschrieben am: 03.11.2015 09:17:33
Hallo Michael,
Hallo Tino,
ich jetzt folgenden Code im Modul stehen:

Sub Tabellenblatt_sperren()
    
For Each ws In ThisWorkbook.Worksheets
        ws.Protect Password:="Passwort", AllowFormattingColumns:=True ', DrawingObjects:=True,  _
Contents:=True, Scenarios:=True, AllowFiltering:=True
        ws.EnableOutlining = True
Next
    
End Sub
Es erscheint diese Fehlermeldung nach Klick auf das Gliederungskreuz:
Userbild
Mache ich immer noch etwas falsch?
Viele Grüße
Ralf

Bild

Betrifft: AW: Hier ein Beispiel mit EnableOutlining=True
von: Nepumuk
Geschrieben am: 03.11.2015 10:03:46
Hallo,
so geht's:

Option Explicit

Public Sub Tabellenblatt_sperren()
    Dim ws As Worksheet
    For Each ws In ThisWorkbook.Worksheets
        Call ws.Protect(Password:="Passwort", UserInterfaceOnly:=True)
        ws.EnableOutlining = True
    Next
End Sub

Gruß
Nepumuk

Bild

Betrifft: AW: Hier ein Beispiel mit EnableOutlining=True
von: Ralf
Geschrieben am: 03.11.2015 12:26:42
Hallo Nepumuk,
super. Vielen Dank.
Jetzt funktioniert es.
Viele Grüße
Ralf

Bild

Betrifft: Outlining ist kein Parameter von Protect
von: Tino
Geschrieben am: 03.11.2015 08:58:53
Hallo,
versuch es mal so

Sub Tabellenblatt_sperren()
With ActiveSheet
    .EnableOutlining = True
    .Protect Password:="Passwort", DrawingObjects:=True, _
             Contents:=True, Scenarios:=True, AllowFiltering:=True
End With
End Sub
Gruß Tino

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Gliederung im geschützten Tabellenblatt"