Clever-Excel-Forum

Normale Version: Sortieren trotz Blattschutz
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,
ich möchte gerne einzelne Spalten sortieren. Also so das die Markierung erweitert wird und alles bis zur Spalte AD mit sortiert wird. Ich habe per Makro einen Blattschutz drin. Hier mein Makro:

Sub Workbook_Open()
ActiveSheet.Protect userinterfaceonly:=True
Dim i As Long
For i = 1 To Worksheets.Count
Sheets(i).Protect userinterfaceonly:=True
Sheets(i).EnableOutlining = True 'für Gliederung
Sheets(i).EnableAutoFilter = True 'für Autofilter
Next i
End Sub

Wie kann ich nun sortieren ohne das ich jedes Mal den Blattschutz öffnen muss und riskier das die Formeln verschwinden. Ich habe 14 Arbeitsblätter und möchte es bei allen Arbeitsblättern so haben das es automatisch geschützt wird und ich drin sortieren kann.

Viele Grüße
Mit =SORTIEREN[NACH]().
Wohin die Formel?
Das ist ja keine Formel, sondern der Vorschlag von zwei(!) möglichen Funktionen.

Das Problem ist ja, dass man in einem geschützten Blatt selbst dann nicht sortieren kann, wenn man ausdrücklich "Benutzer dürfen sortieren" gewählt hat.
Dies scheint ein Bug zu sein.
Hallöchen,

Zitat:Wie kann ich nun sortieren ohne das ich jedes Mal den Blattschutz öffnen muss

Per Makro, dann geht es - vorausgesetzt, Du hast auch mit Deinem geposteten Makro den Blattschutz gesetzt bzw ihn wo auch immer mit dem Userinterface .... Soll der Anwender sortieren können, musst Du ihm z.B. einen Button geben oder Du ein erweitertes Kontextmenü der Maus oder ... womit dann ein Sortiermakro gestartet wird.
Schon mal Danke für die Info. Wie sieht so ein Makro aus?
Hallöchen,

einfach mal aufzeichnen? Ggf. auch verschiedene Sortiervarianten?
Hallo,
ich habe es jetzt über einen Button gelöst. Drauf klicken und schon wird sortiert. Folgendes Makro habe ich verwendet:

Public Sub CommandButton2_Click()
ActiveSheet.Protect userinterfaceonly:=True
Range("A5:X25").Sort Key1:=Range("A5"), order1:=xlAscending, Header:=xlNo
ActiveSheet.Protect userinterfaceonly:=False
End Sub