Registriert seit: 26.12.2019
Version(en): ecxel 2016
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
Registriert seit: 11.04.2014
Version(en): Office 2003 - Office 2007 - Office 365
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
Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen.
Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.
Registriert seit: 11.04.2014
Version(en): Office 365
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?
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter,
der Misserfolg ist ein Waisenkind
Richard Cobden
Registriert seit: 26.12.2019
Version(en): ecxel 2016
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 .
Registriert seit: 11.04.2014
Version(en): Office 365
Hallo,
dazu ist der Blatt"schutz" aber nicht besonders geeignet.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter,
der Misserfolg ist ein Waisenkind
Richard Cobden
Registriert seit: 26.12.2019
Version(en): ecxel 2016
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
Registriert seit: 11.04.2014
Version(en): Office 2003 - Office 2007 - Office 365
27.12.2019, 10:16
(Dieser Beitrag wurde zuletzt bearbeitet: 27.12.2019, 10:16 von marose67.)
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
Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen.
Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo Marcus,
das ginge dann auch so:
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
Registriert seit: 11.04.2014
Version(en): Office 2003 - Office 2007 - Office 365
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!!!
Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen.
Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.
Folgende(r) 1 Nutzer sagt Danke an marose67 für diesen Beitrag:1 Nutzer sagt Danke an marose67 für diesen Beitrag 28
• Kuwer