ActiveSheet.Protect... Frage dazu

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)
.