Weitere Formatierungsfrage, Blatt schützen

Moin zusammen,

besagte Datei hat sehr viele Spalten und Zeilen. Um die Überischt zu gewährleisten sind zwischendurch immer mal wieder ein paar spalten gruppiert.
Es gibt relativ viel Datensalat in der Tabelle, der nicht geändert werden darf, ebenso auch kein löschen von Spalten noch von Zeilen.
Allerdings soll der normale User bestimmte Spalten editieren dürfen, die gruppierten Spalten ein und ausblenden, sowie den Autofilter verwenden dürfen.

Wenn ich die Zellen die gruppiert sind sperre, dann kann die keiner mehr auf- bzw zukalppen wenn der Blattschutz aktiviert ist.

Wie bekommt man das am dümmsten hin. von mir aus auch mit VBA.

Danke und Gruß

slam

Hallo,

hake mal mit an „Szenario bearbeiten“. Dann müsste es funktionieren!

VG René

Hallo slam,

bei Gruppierungen und Blattschutz gibt es nur entweder oder. D.h. Gruppierungen kann man nur bei deaktivierten Blattschutz über die Plus-Minus-Schaltknöpfe ändern.

Provisorisch kann man ein Ereignismakro installieren, das z.B. bei Klick in die Zelle in der 1. Zeile unterhalb der Plus-Minus-Knöpfe die entsprechenden Spalten ein- bzw. ausblendet. Das muss man natürlich dann auch den Anwendern entsprechend vermitteln.

Gruß
Franz

Beispiel-Makro

'Ereignismakro unter dem Tabellenblatt mit den Gruppierungen
Private Sub Worksheet\_SelectionChange(ByVal Target As Range)
 If Target.Row = 1 And Target.Cells.Count = 1 Then
 Select Case Target.Column
 Case 1, 6, 11 'Spalten unter den +-Knöpfen der Gruppierung
 Me.Unprotect Password:=""
 Select Case Target.Column
 Case 1 'Zelle A1 selectieren blendet alle Spalten ein
 If MsgBox("Alle Spalten einblenden", vbQuestion + vbOKCancel, \_
 "Spalten einblenden") = vbOK Then
 Columns.Hidden = False
 End If
 Case 6 'Spalte F
 'Spalten D:E ein-/ausblenden
 Range(Columns(4), Columns(5)).Hidden = Not Columns(5).Hidden
 Case 11 'Spalte K
 'Spalten I:J ein-/ausblenden
 Range(Columns(9), Columns(10)).Hidden = Not Columns(10).Hidden
 End Select
 Me.Protect Password:="", AllowFiltering:=True
 Case Else
 'do nothing
 End Select
 End If
End Sub

Grüezi slam

Um die
Überischt zu gewährleisten sind zwischendurch immer mal wieder
ein paar spalten gruppiert.
Es gibt relativ viel Datensalat in der Tabelle, der nicht
geändert werden darf, ebenso auch kein löschen von Spalten
noch von Zeilen.
Allerdings soll der normale User bestimmte Spalten editieren
dürfen, die gruppierten Spalten ein und ausblenden, sowie den
Autofilter verwenden dürfen.

Wenn ich die Zellen die gruppiert sind sperre, dann kann die
keiner mehr auf- bzw zukalppen wenn der Blattschutz aktiviert
ist.

Wie bekommt man das am dümmsten hin. von mir aus auch mit VBA.

Diese Option hat es leider nicht bis auf die graphische Oberfläche geschafft und ist daher nur per VBA-Makro einstellbar.

Sub Makro1()
 ActiveSheet.EnableOutlining = True
 ActiveSheet.Protect contents:=True, userInterfaceOnly:=True
End Sub

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -