Clever-Excel-Forum

Normale Version: Gefüllte Zellen nach speichern schützen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Leute

Ich habe keine Ahnung von VBA und bräuchte mal eure Hilfe .

Ich habe ein Tabellenblatt was schreibgeschützt ist , bis auf die Zellen die beschrieben werden dürfen . Zur Zeit mache ich es so das ich jeden Tag den Blattschutz öffne die beschriebenen Zellen den Zellenschutz aktiviere und dann den Blattschutz wieder aktiviere sodass die beschriebenen Zellen dann auch geschützt sind und nicht überschreibbar sind . was echt viel zeit in anspruch nimmt .
Gibt es da eine Lössung über VBA das die Zellen erst nach dem Speichern automatisch ein Zellenschutz bekommen ??

Ich Danke euch schon mal für die Hilfe im vorraus

Gruß Jörg
Hallo,

das wiederspricht sich etwas:

Zitat:Gibt es da eine Lössung über VBA das die Zellen erst nach dem Speichern automatisch ein Zellenschutz bekommen ??

Nach dem speichern? Du meinst bestimmt nach dem Eintrag.

Gruß
Marcus
Hallo,

ich arbeite nun schon rund dreißig Jahre mit Excel, schreibgeschützte Zellen habe ich da noch nie benötigt. Wozu soll das gut sein? Gut, man kann Zellen mit Formeln vor einem unbeabsichtigtem Überschreiben schützen, aber die Zellen in die etwas eingegeben werden soll?
Nein das ist schon richtig . Es soll erst schreibgeschützt werden wenn man auf speichern drückt . Es ist ein Tabelle und da heben mehre Personen bestimmte Daten einzutragen und die würde ich gern schützen indem nach dem Speichern ein schreibschutz sich einfügt . Es ist schon vorgekommen das sichandere Leute die Daten nachträglich geändert haben und das will ich unterbinden .
Hallo,

dazu ist der Blatt"schutz" aber nicht besonders geeignet.
Guten Morgen

Ja das weiss ich auch dass das nicht besonders gut geeignet ist dafür aber es reicht aus um zu vermeiden das Leute die Spätschicht haben die Daten von der Frühschicht nicht zu überschreiben . Ich hab da so experten die können das wirklich gut . Und ich kann nicht immer 24 Std am Rechner sitzten und die Daten safe machen .

Grüße
Jörg
Hallo,

was anderes fällt mir nicht ein (egal, was ich von der Idee halte) ... Lege diesen Code hinter "dieseArbeitsmappe" ...
Zitat:Option Explicit

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim Zelle As Range
Application.ScreenUpdating = False
    With Sheets("Dein_Tabellenblatt")
       .Unprotect Password:="Dein_Passwort"
       .Cells.Locked = False
            For Each Zelle In .UsedRange
                If Zelle <> "" Then Zelle.Locked = True
            Next Zelle
       .Protect Password:="Dein_Passwort"
    End With
Application.ScreenUpdating = True
End Sub


Gruß
Marcus
Hallo Marcus,

das ginge dann auch so: Wink

Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    With Sheets("Dein_Tabellenblatt")
       .Unprotect Password:="Dein_Passwort"
       .Cells.Locked = False
       .Cells.SpecialCells(xlCellTypeConstants).Locked = True
       .Protect Password:="Dein_Passwort"
    End With
End Sub

Gruß Uwe
Hallo Uwe,
danke ... habe ich mir mal abgelegt. Geht somit auch kürzer ... Klappt genauso gut.

Gruß
Marcus

P.S.: Kommt gut ins neue Jahr!!!