geschützte Zellen entsperren / sperren

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: geschützte Zellen entsperren / sperren von: der.dan
Geschrieben am: 08.02.2005 14:24:58

Hallo.

Diesmal dreht sich mein Anliegen um das entsperren von geschützten Zellbereichen, welche durch ein Makro beschrieben und danach wieder gesperrt werden sollen.

Schreibe ich die entsprechenden Anweisungen nach folgendem Code, erhalte ich die Fehlermeldung "Laufzeitfehler '1004': Die Locked-Eigenschaft des Range-Objektes kann nicht festgelegt werden.

Option Explicit
Dim Mdlg


Private Sub OptionButtonPrivatJa_Click()
If OptionButtonPrivatJa = True Then
    Dim Mdlg, Titel, Voreinstellung, Wert1 
        Mdlg = "Hier die gefahrenen Privatkilometer eingeben:"
        Titel = ""
        Voreinstellung= ""
        Wert1 = InputBox(Mdlg, Titel, Voreinstellung)
    If Wert1 = "" Or Wert1 = "0" Then
        OptionButtonPrivatNein = True                            
        Else:   Worksheets("Montag").Range("U18:X18").Locked = False
                [U18] = Wert1
                Worksheets("Montag").Range("U18:X18").Locked = True
    End If
End If
End Sub



Private Sub OptionButtonPrivatNein_Click()
    If OptionButtonPrivatNein = True Then
        Worksheets("Montag").Range("U18:X18").Locked = False
        Worksheets("Montag").Range("U18:X18").ClearContents
        Worksheets("Montag").Range("U18:X18").Locked = True
End If
End Sub



Bitte hierbei (mal wieder) um Eure Unterstützung.


mfg, Dan
Bild


Betrifft: AW: geschützte Zellen entsperren / sperren von: Udo
Geschrieben am: 08.02.2005 14:32:32

Locked greift nur, wenn das Blatt geschützt ist. Wenn es geschützt ist, kannst du die Eigenschaft nicht verändern.

Dieser Code ist sinnlox:


Private Sub OptionButtonPrivatNein_Click()
    If OptionButtonPrivatNein = True Then
        Worksheets("Montag").Range("U18:X18").Locked = False
        Worksheets("Montag").Range("U18:X18").ClearContents
        Worksheets("Montag").Range("U18:X18").Locked = True
End If
End Sub


Es reicht völlig:


Private Sub OptionButtonPrivatNein_Click()
  If OptionButtonPrivatNein Then Worksheets("Montag").Range("U18:X18").ClearContents
End Sub


Allerdings darf Worksheets("Montag") nicht geschützt sein oder mit UserInterfaceOnly.

Udo


Bild


Betrifft: AW: geschützte Zellen entsperren / sperren von: der.dan
Geschrieben am: 08.02.2005 14:39:35

Hallo Udo.

Genau da in dem gesperrten Blatt liegt ja mein Problem: Das Arbeitsblatt ist gesperrt, Optionen hierfür: Benutzer darf nur ungesperrte Zellen bearbeiten und anklicken.

Lasse ich den Blattschutz weg habe ich keinerlei Probleme....


mfg, Dan


Bild


Betrifft: AW: geschützte Zellen entsperren / sperren von: Udo
Geschrieben am: 08.02.2005 14:44:39

Siehe meine Antwort 5 Beiträge weiter unten.

Udo


Bild


Betrifft: AW: geschützte Zellen entsperren / sperren von: der.dan
Geschrieben am: 08.02.2005 15:00:47

Diagnose: Stimmt. Aufgrund der Ungeübtheit mit VBA hab' ich die Verwandtschaft der beiden Beiträge nicht erkannt. (UserIQ too low.... ;-) )

Trotzdem vielen Dank für Deine Hilfe!



mfg, Dan


Bild


Betrifft: AW: geschützte Zellen entsperren / sperren von: Heinz A. Wankmüller
Geschrieben am: 08.02.2005 14:41:53

Hallo Dan,

das Sperren einer Zelle ohne nachträglichem Schützen des Blattes ist wirkungslos.
Ich gehe davon aus, dass das Blatt geschützt ist, dann kann nämlich die Eigenschaft gesperrt nicht gesetzt oder aufgehoben werden, sonst wäre ein Schutz ja umsonst.
Wenn der Blattschutz aufgehoben is, ist es völlig egal, ob eine Zelle die Eigenschaft gesperrt hat oder nicht, dann kann man jede Zelle verändern.

Daher meine ich dass dein Code so funktionieren sollte:


Private Sub OptionButtonPrivatJa_Click()
    Dim Mdlg, Titel, Voreinstellung, Wert1
    If OptionButtonPrivatJa = True Then
        Mdlg = "Hier die gefahrenen Privatkilometer eingeben:"
        Titel = ""
        Voreinstellung = ""
        Wert1 = InputBox(Mdlg, Titel, Voreinstellung)
        If Wert1 = "" Or Wert1 = "0" Then
            OptionButtonPrivatNein = True
        Else
            Worksheets("Montag").Unprotect Password:="MeinPasswort"
            [U18] = Wert1
            Worksheets("Montag").Protect Password:="MeinPasswort"
        End If
    End If
End Sub





Private Sub OptionButtonPrivatNein_Click()
    If OptionButtonPrivatNein = True Then
        With Worksheets("Montag")
            .Unprotect Password:="MeinPasswort"
            .Range("U18:X18").ClearContents
            .Protect Password:="MeinPasswort"
        End With
    End If
End Sub

Gruß
Heinz


Bild


Betrifft: AW: geschützte Zellen entsperren / sperren von: der.dan
Geschrieben am: 08.02.2005 14:58:38

Hallo Heinz.

Fast - hab den Code noch ein wenig verändert. Wenn ich den Code von Dir direkt übernommen habe hab' ich noch zwei verschiedene Fehlermeldungen angezeigt bekommen.
Der Vollständigkeit halber hier der nun verwendete, funktionsfähige Code:

"
Option Explicit
Dim Mdlg

Private Sub OptionButtonPrivatJa_Click()
If OptionButtonPrivatJa = True Then
    Dim Mdlg, Titel, Voreinstellung, Wert1
        Mdlg = "Hier die gefahrenen Privatkilometer eingeben:"
        Titel = ""
        Voreinstellung = "" beim Öffnen der Box
        Wert1 = InputBox(Mdlg, Titel, Voreinstellung)
    If Wert1 = "" Or Wert1 = "0" Then
        OptionButtonPrivatNein = True
        Else
            With Worksheets("Montag")
            .Unprotect Password:="MeinPasswort"
            .[U18] = Wert1
            .Protect Password:="MeinPasswort"
        End With
        
    End If
End If
End Sub



Private Sub OptionButtonPrivatNein_Click()
    If OptionButtonPrivatNein = True Then
        With Worksheets("Montag")
            .Unprotect Password:="MeinPasswort"
            .Range("U18:X18").ClearContents
            .Protect Password:="MeinPasswort"
        End With
    End If
End Sub

"

Vielen Dank für Deine Hilfe. - Jetzt geht es noch ans Feintuning der gesamten Arbeitsmappe - mal schauen wie oft ich Eure Hilfe dafür noch in Anspruch nehmen muß... ;-)



mfg, Dan


 Bild

Beiträge aus den Excel-Beispielen zum Thema "geschützte Zellen entsperren / sperren"