Microsoft Excel

Herbers Excel/VBA-Archiv

ActiveSheet.Protect mit weiteren Optionen



Thema: ActiveSheet.Protect mit weiteren Optionen

Betrifft: ActiveSheet.Protect mit weiteren Optionen
von: Maik
Geschrieben am: 26.09.2002 - 13:26:25

Hallöchen,

ich habe folgendes Problem:

Diverse zellen einer Arbeitsmappe sind komplett, also auch gegen Auswahl, geschützt. Lediglich die Zellen in denen der Benutzer Änderungen vornehmen darf sind nicht gesperrt und können somit jederzeit verändert werden.

Nun ist es erforderlich, das zuweilen der Blazzschutz mittels Makro aufgehoben werden muss um einige Änderungen vorzunehmen (bspw. nach Eingabe in eine UserForm). Danach soll der Blattschutz wieder wie vorher funktionieren.

Ich habe jetzt also alles mögliche probiert, in der Recherche gewühlt, die VBA-Hilfe fast auswendig gelernt ;-) und komme einfach nicht auf die Lösung meines Problems.

Kann evtl. jemand helfen?

Bis denne und Danke schonmal im voraus,

Maik

  

Re: ActiveSheet.Protect mit weiteren Optionen
von: Tobia
Geschrieben am: 26.09.2002 - 13:32:15

Sub BlattSchutzEinAus()
Application.Dialogs(xlDialogProtectDocument).Show
End Sub

oder im deine Code einfügen:

ActiveSheet.Protect
ActiveSheet.Unprotect

  

Re: ActiveSheet.Protect mit weiteren Optionen
von: cjp
Geschrieben am: 26.09.2002 - 13:36:49

Sub DEINMAKRO()
ActiveSheet.Unprotect "deinPasswort"
'DEIN MAKRO CODE
ActiveSheet.Protect Password:="deinPasswort"
End Sub

Hallo Maik,

am Beginn deiner Makros jeweils den Blattschutz aufheben, am Ende wieder setzen. Eventuell mit Passwortschutz (Hier entweder mit Passwort:="deinPasswort" falls noch weitere Optionen folgen, oder nur "deinPasswort" für Blattschutz setzen/aufheben ohne weitere Optionen)

Gruss
Christian


  

Re: ActiveSheet.Protect mit weiteren Optionen
von: Maik
Geschrieben am: 26.09.2002 - 13:42:51

>Sub BlattSchutzEinAus()
>Application.Dialogs(xlDialogProtectDocument).Show
>End Sub

Das gibt ja die Abfrage mit allen möglichen Schutzoptionen aus. Darauf will ich aber nicht hinaus. Die Optionen sollen automagisch durch das Makro gesetzt werden.

>oder im deine Code einfügen:
>ActiveSheet.Protect
>ActiveSheet.Unprotect

Und genau da hänge ich fest. Beim Protect mit Passwort funktioniert eigentlich alles, nur eben nicht nach meinen Vorstellungen.

Derzeit hab ich folgendes:

ActiveSheet.Protect "test", DrawingObjects:=False, Contents:=True, Scenarios:=True

Dummerweise können nach diesem Schutz auch ungesperrte Zellen nicht mehr beschrieben werden. Gesperrte hingegen können dann trotzdem ausgewählt werden. Es soll aber genau andersherum sein, also Auswahl gesperrter Zellen unmöglich, Änderung ungesperrter Zellen möglich.

:-(

Bis denne,

Maik *verzweifelt*

  

Re: ActiveSheet.Protect mit weiteren Optionen
von: Maik
Geschrieben am: 26.09.2002 - 13:48:53

Sowiet war ich ja auch schon, nur eben soll es (wie in meiner Antwort an Tobia beschrieben) etwas mehr sein.

Bis denne,

Maik

  

Re: ActiveSheet.Protect mit weiteren Optionen
von: cjp
Geschrieben am: 26.09.2002 - 13:57:53

Hallo Maik,

Lösungsansatz bleibt, am Anfang des Makros:

ActiveSheet.Unprotect "test"

Ende des Makros:

With ActiveSheet
.EnableSelection = xlUnlockedCells
.Protect Password:="test", DrawingObjects:=True, Contents:=True, Scenarios:=True
End With

Setzt natürlich voraus, daß die Zelleigenschaften/Schutz richtig sind. (Gesperrt/nicht gesperrt für Auswahl nicht möglich/möglich)

gruss
Christian


  

Re: ActiveSheet.Protect mit weiteren Optionen
von: Maik
Geschrieben am: 26.09.2002 - 14:03:24

Genau das war es. Besten Dank!

Bis denne,

Maik :-)