Befehl "Sortierung" bei Blattschutz über VBA
#1
Hallo zusammen, 

habe ein VBA Problem und hoffe, dass mir jemand weiterhelfen kann.
Und zwar habe ich in einer Exceldatei einen Blattschutz über VBA eingepflegt (siehe unten). Autofilter und Gruppierung funktionieren soweit, 
jedoch bekomme ich nicht den korrekten Code zustande, die entsprechende Liste auch sortieren zu können.
Im Netz habe ich mehrere Befehle gefunden, funktionieren jedoch nicht. Hat jemand evtl. noch eine Idee, wie´s klappen könnte?


Sub Workbook_Open()

'für alle Blätter mit Passwortschutz
 
Dim ws As Worksheet
For Each ws In Worksheets
    ws.Protect userinterfaceonly:=True, Password:="blablabla" 'Passwort anpassen
    ws.EnableAutoFilter = True 'ermöglicht Autofilter
    ws.EnableOutlining = True 'ermöglicht Gruppierung/Gliederung
    ???                        = True 'ermöglicht Sortierung

Next ws
End Sub



Grüße Christoph  21
Top
#2
Moin!
Die Worksheet.Protect-Methode [Klick] kennt den Parameter AllowSorting:=True

Gruß Ralf

Nachtrag:
Folgendes muss gewährleistet sein:

Zitat:Mit True können Benutzer für das geschützte Arbeitsblatt eine Sortierung vornehmen. Für jede Zelle im Sortierbereich muss die Sperre oder der Schutz aufgehoben werden. Der Standardwert ist False.
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#3
vielen Dank für die schnelle Rückantwort. 
wenn ich diesen Befehl verwende kommt folgende Fehlermeldung beim Kompilieren (siehe Anhang).


Angehängte Dateien Thumbnail(s)
   
Top
#4
Tja, dann hast Du was falsch gemacht.  21
Zeigst Du mal Deinen Code?
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#5
hier der Code:

Sub Workbook_Open()
'für alle Blätter mit Passwortschutz
Dim ws As Worksheet
For Each ws In Worksheets
    ws.Protect userinterfaceonly:=True, Password:="blavlbla" 'Passwort anpassen
    ws.EnableAutoFilter = True 'ermöglicht Autofilter
    ws.EnableOutlining = True 'ermöglicht Gruppierung/Gliederung
    ws.AllowSorting = True ' ermöglicht Sortierung
Next ws
End Sub



ich finde auch die von mir verwendeten Befehle für den Autofilter und Gruppierung nicht in dieser Parameter Übersicht?
Top
#6
Eigenzitat:

Zitat:Die Worksheet.Protect-Methode kennt den Parameter AllowSorting:=True


Da stand nichts von der Worksheet-Eigenschaft .AllowSorting
Schließlich gibt es die gar nicht!
Warum poste ich eigentlich Links, wenn die nicht gelesen werden?

ws.Protect UserInterfaceOnly:=True, Password:="blavlbla", AllowSorting:=True

Aber: Beachte meinen Nachtrag!

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#7
ok dank dir, soweit verstanden.

Gibt es denn keine andere Möglichkeit ohne Aufhebung des Blattschutzes die Liste zu sortieren,
ähnlich wie beim Autofilter und der Gruppierung (ws.EnableAutoFilter ,ws.EnableOutlining)?
Top
#8
Ja!
Programmatisch, also mittels Code.
Dann brauchst Du auch nicht den Blattschutz erst löschen, dann sortieren und schließlich den Blattschutz wieder setzen.

Denn schließlich sorgt der Parameter UserInterfaceOnly:=True dafür, dass VBA werkeln darf, der Nutzer auf der GUI hingegen nicht.

Dein Ansinnen ist auch nicht exotisch, sondern wird in VBA-gesteuerten Dateien üblicherweise so genutzt.
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#9
Ok, aber so ganz kann ich nicht mehr folgen, ich bin leider kein Programmierer.

Was muss ich nun genau tun, einstellen oder welchen Code muss ich verwenden, damit der Autofilter, die Gruppierung und die Sortierung funktionieren, ohne dass man den Blattschutz aufheben muss. Autofilter und Gruppierungen funktionieren mit meinem Code. Wenn ich nun mit deiner Info (ws.Protect UserInterfaceOnly:=True, Password:="blavlbla", AllowSorting:=True)vervollständige , ist die Sortierung ohne eine vorherige Aufhebung des Schutzes nicht möglich.
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste