Ich möchte euch noch zeigen, wie automatisch alle Formeln schreibgeschützt sind, alle anderen Felder jedoch nicht. Der Vorteil zum Blattschutz besteht darin, dass Gruppierungen noch verwendet werden können und dies wirklich die einzige Einschränkung ist.
Denn wenn eine Person eine Formel überschreibt, braucht es sehr viel Zeit um den Fehler wieder zu korrigieren.
Also, so gehts:
Als erstes machst du wieder ein Modul und fügst dort folgenden Text ein:
Public ZelleschutzAus As Integer
Sub Zellenschutz_Aus()
If Application.InputBox("Bitte Paßwort eingeben:", "Paßwortabfrage") = "zellenschutz" Then
ZelleschutzAus = 1
Else
MsgBox "Falsches Passwort, wiederholen Sie die Eingabe.", , "Fehler"
End If
End Sub
---------------------------------------------------------------
Nun fügst du bei "diese Arbeitsmappe" und bei allen anderen Unterordner von "Microsoft Excel Objekte" folgendes ein:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rng As Range
For Each rng In Target.Cells
If rng.HasFormula And ZelleschutzAus = 0 Then
ActiveSheet.Protect
Exit Sub
Else
ActiveSheet.Unprotect
End If
Next rng
End Sub
-------------------------------------------------------------------
Damit man den Schutz mit einem Passwort auflösen kann, wählst du jetzt ein beliebiges Tabellenblatt von deiner Datei.
Nun wählst du unter Ansich --> Symbolleisten die Steuerelement-Toolbox. Nun wählst du die Befehlsschaltfläche (das vierte von Oben, links) nun zeichnest du so eine auf dein Tabellenblatt.
Dann Klickst du mit der rechten Maustaste auf diese Schaltfläche. Nun wählst du Eigenschaften und gibst unter Caption den Text ein, der auf dieser Schaltfläche erscheinen soll. danach schliesst du dieses Fenster wieder.
Jetzt klickst du wieder mit rechts auf die Schaltfläche, auf der nun der gewünschte Text steht. nun wählst du Code anzeigen.
Nun erscheint schon dieser Text:
-----------------------------------------------------------
Private Sub CommandButton2_Click()
End Sub
-------------------------------------------------------------
Dies kannst du löschen. Danach fügst du diesen Text ein:
Private Sub CommandButton1_Click()
If Application.InputBox("Bitte Paßwort eingeben:", "Paßwortabfrage") = "zellenschutz" Then
ZelleschutzAus = 1
Else
MsgBox "Falsches Passwort, wiederholen Sie die Eingabe.", , "Fehler"
End If
End Sub
-------------------------------------------------------------------
So, nun speicherst du die Datei.
Jetzt kannst du die datei wieder öffnen und nun funktioniert auch dies.
Dass Passwort lautet übrigens in diesem Fall "zellenschutz" (ohne " ").
Es funktioniert allerdings nur, wenn die Makros akzeptiert werden.
So, ich hoffe ich habe dir geholfen.
Viel Spass beim ausprobieren.