Ich hätte mal wieder eine Anfrage mit der Bitte um Hilfe. Habe mir im Internet den folgenden _
Code zum sichern der Zellen bzw Arbeitsblätter gesucht. Er sollte allgemein gültig sein und _ funktionieren Aber bei mir tut sich garnichts. Er sollte Automatisch gehen. Was kann ich tun.
folgendes Makro kommt in das Codemodul der Arbeitsmappe. Es hebt in allen Tabellenblättern der _
_
Arbeitsmappe nacheinander den Blattschutz auf, sperrt dann alle Zellen, die konstante Werte _
enthalten und anschließend auch alle Zellen, die Formeln enthalten und setzt schließlich den Blattschutz wieder. Das Makro läuft bei jeder Speicherung der Arbeitsmappe automatisch ab.
Vorher muss sichergestellt werden, dass in allen Tabellenblättern der Mappe sämtliche Zellen _
entsperrt werden. Standardeinstellung für die Zellen ist ja, dass sie gesperrt sind.
'# Code einfügen in: #
'# das Klassenmodul der betreffenden Arbeitsmappe #
________________________________________
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim ws As Worksheet
'Alle Tabellenblätter der Arbeitsmappe abarbeiten
For Each ws In ThisWorkbook.Worksheets
With ws
'Blattschutz aufheben (Blattschutz ohne Passwort)
.Unprotect
'Zellen mit konstanten Werten (Zahlen, Text, Datumsangaben) sperren
.Cells.SpecialCells(xlCellTypeConstants).Locked = True
'Zellen mit Formeln sperren
.Cells.SpecialCells(xlCellTypeFormulas).Locked = True
'Blattschutz wieder setzen (Blattschutz ohne Passwort)
.Protect
End With
Next 'ws
End Sub
________________________________________
Es wäre schön wenn es in dem Code auch passage gäbe, wo ich händisch bestimmte Bereiche von Tabellenblättern einschreiben könnte, das sie ungesperrt blieben.Für Eure Mühen danke ich im voraus.
MfG Robert