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.
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
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