Hallo dlb,
nachfolgend mal ein Makro, dass alle CheckBoxen und OptionButtons auf .Enabled = False setzt, wenn der Blattschutz aktiv.
Kopiere das Makro in ein StandardModul und starte es z.B. über eine Befehlsschaltfläche
Teste das Makro aber bitte in einer Testdatei und nicht gleich in Deiner Originaldatei.
Option Explicit
Sub Objekte_sperren()
Dim objShape As OLEObject
For Each objShape In ActiveSheet.OLEObjects
If LCase(Left(objShape.Name, 12)) = LCase("optionbutton") And ActiveSheet.ProtectContents Or _
LCase(Left(objShape.Name, 8)) = LCase("checkbox") And ActiveSheet.ProtectContents Then
objShape.Enabled = False
Else
objShape.Enabled = True
End If
Next
End Sub
Da der Blattschutz meines Wissens nach kein Ereignis auslöst, könnte man in dieses Makro noch integrieren, dass der Blattschutz bei Aktivieren des Makros gesetzt wird. Somit müsste, sollte das Blatt geschützt werden, das Makro und nicht die Excel eigene Funktion zum Schützen eines Blattes aufgerufen werden.
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf
meiner HP in der
Rubrik Anleitungen und dort dann in der
Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.
Bei Fragen melde Dich.
MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]