Hallo zusammen,
ich habe mir ein Makro geschrieben, dass mir sagen soll ob ein Arbeitsblatt geschützt ist oder nicht:
Sub test()
If ActiveSheet.Protect = True Then
MsgBox „Blattschutz vorhanden“
Else
MsgBox „Kein Blattschutz“
End If
End Sub
Wenn ich dies jetzt laufen lasse, sagt er mir bei einem geschützten Arbeitsblatt „Kein Blattschutz“ und bei einem ungeschützten Blatt „Blattschutz vorhanden“.
Ich hätte jetzt aber eher „Blattschutz vorhanden“ erwartet, weil für mich heisst ActiveSheet.Protect = True, dass es bei einem Blattschutz (also WAHR) den ersten Satz ausgibt…
Wieso ist das verdreht?
Vielen Dank schonmal
MfG
Hallo Brille1982
Protect
ist eine „Methode“, mit der du den Blattschutz ein- oder ausschaltest. Du kannst damit nicht die „Eigenschaft“ des Blatts abfagen, ob es geschützt ist oder nicht.
Das geht mit der „Eigenschaft“
Protection
bzw. den Untereigenschaften davon, z.B.
If ActiveSheet.Protection.AllowInsertingColumns = False Then ...
Suche mal in der VBA-Hilfe nach Protection. Da wird das ganz gut erklärt.
Gruß, Andreas
Hallo Andreas,
danke für den Hinweis!
So wie ich das sehe gibt es da aber keine Möglichkeit zu gucken, ob allgemein ein Blattschutz besteht oder? Man kann da nur bestimmte Eigenschaften (Filtern, Einfügen etc.) abfragen?
Gibt es dann irgend eine „allgemeine“ Möglichkeit?
MfG
ich habe mir ein Makro geschrieben, dass mir sagen soll ob ein
Arbeitsblatt geschützt ist oder nicht:
Hallo brille,
if activesheet.ProtectContents = True then
PS: der prehtml-Tag klappt da nicht, nimm den pre-Tag.
Gruß
Reinhard
Vielen Dank euch beiden! (owt)
.