1.4k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo zusammen,

ich habe ein Problem mit dem Schreibschutz. Ich möchte mein Arbeitsblatt1 so schützen, dass nur bestemmte Zellen angeklickt werden können. Arbeitsblatt2 soll komplett schreibgeschützt sein, so dass es nicht möglich ist eine Zelle anzuklicken. Die Arbeitsblätter sind unter Blattschutz „nicht gesperrte Zellen auswählen“ Kennwortgeschützt. Jetzt werden vom Arbeitzblatt1 aus auf Arbeitsblatt2 Zellen ein und ausgeblendet. Dazu nutze ich folgenden Befehl:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$U$12" Then
ActiveSheet.Unprotect
With Worksheets("Zeichnung")
.Unprotect
.Rows("7:9").Hidden = Range("U12").Value < 4
.Protect
End With
ActiveSheet.Protect
End If

Soweit so gut.
Wird jetzt die Datei gespeichert und geschlossen, ist der Schreibschutz beim nächsten öffnen nicht mehr Kennwortgeschützt und ich kann auf beiden Arbeitsblättern jede Zelle anklicken. Ich vermut mal, dass hängt irgendwie mit Unprotect / Protect zusammen, die ich ja wegen dem Schreibschutz benutzen muss. Meine VBA Kenntnisse reichen dafür leider nicht aus.

Gruß Juppes

2 Antworten

0 Punkte
Beantwortet von coros Experte (4k Punkte)
Hallo Juppes,

Du musst hinter .Protect das Passwort in Anführungszeichen gesetzt aufführen. Also anstelle von

ActiveSheet.Protectmüsste dort dann

ActiveSheet.Protect "Das Passwort"stehen.

MfG,
Oliver
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Juppes,

die Zeilen
ActiveSheet.Unprotect
ActiveSheet.protect
sind Sinnlos.
Falls die andere Tabelle geschützt ist hinter Unprotect und Protect ein Passwort.
Lese mal die FAQ, Du sollst zu einem Problem nichr mehrere Beiträge anfangen und ich würde schreiben das gehört zu Deinem alten Problem.

Gruß Hajo
...