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
06.01.2021, 11:23 (Dieser Beitrag wurde zuletzt bearbeitet: 06.01.2021, 11:45 von RPP63.)
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)
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?
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?
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)?
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)
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.