Hallo,
ich brauche Euren Rat:
zwecks versehentlichem Löschen durch einen Anwender habe ich ein Blatt geschützt. Jetzt soll dem Anwender jedoch die Möglichkeit der Datensortierung (per Makro) in diesem geschützten Blatt gegeben werden.
Wie erstelle ich ein Makro, welches zu Beginn den Blattschutz aufhebt und nach der Sortierung das Blatt wieder schützt ???
Wie erstelle ich ein Makro, welches zu Beginn den Blattschutz
aufhebt und nach der Sortierung das Blatt wieder schützt ???
Genau die Forderung hatte ich auch (aus gleichem Grunde), und die Lösung ist ganz einfach:
Application.ThisWorkbook.Sheets(gcBlattName).Unprotect '"Hallo"
...
... Sortierung oder was auch immer
...
Application.ThisWorkbook.ActiveSheet.Protect '"Hallo"
Ich selbst hatte ein leeres Paßwort angegeben (also eigentlich keins), so daß ich beide Prozeduren ohne Parameter aufrufen konnte. Es ging ja nur um das versehentliche Verändern von Zellen.
Solltest Du jedoch ein Paßwort verwenden wollen, gib es einfach als Parameter an. Im Beispiel müßte also jeweils nur das Kommentarzeichen weg.
Tippe Dir mal „Protect“ in den Makro-Editor und gehe mit Strg-F1" in die Hilfe.
Inwieweit Du das „Application.ThisWorkbook.ActiveSheet.“ weglassen oder variieren kannst, hängt von Deinem Code ab. Das Schützen funktioniert übrigens auch auf WorkBook-Ebene.