02.05.2019, 13:25
Hallo zusammen,
ich bin durch diesen Thread auf das Forum gestoßen und hoffe, ihr könnt mir weiterhelfen.
In meiner Tabelle habe ich die oberste Zeile und die ersten paar Spalten fixiert. Hier stehen die Kategorien, die von den späteren Benutzern nicht verändert werden sollen.
Ab Spalte M startet der Zellbereich in dem Eintragungen möglich sind. Damit jeder Benutzer die für ihn relevanten Zeilen findet, soll das Sortieren und Filtern der Liste trotz Blattschutz möglich sein.
Gelöst habe ich die Sache bisher wie folgt:
Damit funktioniert der Autofilter und die Gruppierungen.
Für mich ergeben sich jetzt leider 2 Probleme:
Code aus dem Thread mit dem Button:
ich bin durch diesen Thread auf das Forum gestoßen und hoffe, ihr könnt mir weiterhelfen.
In meiner Tabelle habe ich die oberste Zeile und die ersten paar Spalten fixiert. Hier stehen die Kategorien, die von den späteren Benutzern nicht verändert werden sollen.
Ab Spalte M startet der Zellbereich in dem Eintragungen möglich sind. Damit jeder Benutzer die für ihn relevanten Zeilen findet, soll das Sortieren und Filtern der Liste trotz Blattschutz möglich sein.
Gelöst habe ich die Sache bisher wie folgt:
Code:
Sub Workbook_Open()
With Sheets("Tab1")
.Protect userinterfaceonly:=True
.EnableOutlining = True
.EnableAutoFilter = True
End With
With Sheets("Tab2")
.Protect userinterfaceonly:=True
.EnableOutlining = True
.EnableAutoFilter = True
End With
End Sub
Für mich ergeben sich jetzt leider 2 Probleme:
- Der Code erlaubt keine Sortierung. Gibt es eine Möglichkeit, den obigen Code so zu erweitern, dass ein Sortieren möglich ist? Im oben genannten Thread wird das per Button und Aufrufen des Sortieren-Dialogs gelöst - das ist für meine Liste aber nicht praktikabel (Code habe ich unten nochmal rauskopiert).
- Wenn möglich, möchte ich das Filtern & Sortieren nur in den Spalten A-L erlauben. Wenn ich den Autofilter nur auf diese Spalten anwende, wird der hintere Bereich aber nicht mehr mitsortiert. Kann man das irgendwo definieren, dass immer die komplette Zeile mitverschoben wird, auch wenn nur "vorne" umsortiert wird?
Code aus dem Thread mit dem Button:
Code:
Private Sub cmdAufhebenSortieren_Click()
cmdAufhebenSortieren.BackColor = 255 'setzt die Hintergrundfarbe des Buttons auf Rot
With ActiveSheet 'mache im aktiven Arbeitsblatt folgendes:
.Unprotect 'Blattschutz aufhebe
CommandBars(1).Controls("Daten").Controls("Sortieren...").Execute 'Sortiermen? ?ffnen
.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowSorting:=True, AllowFiltering:=True 'nach Schlie?en des Men?s Arbeitsblatt sch?tzen
End With 'Ende der Arbeiten im aktiven Arbeitsblatt
cmdAufhebenSortieren.BackColor = 52377 'setzt die Hintergrundfarbe des Buttons auf Gr?n
End Sub