viewpoint
Goto Top

Zelle nach erster Eingabe schreibschützen

Zelle soll nur einmal beschreibbar sein

Hallo!

Wieder mal eine Frage...

Ich habe mittlerweile eine sehr große Excel Liste (die eigentlich schon Datenbank-würdig wäre) mit der mehrere Leute arbeiten.
Die Datei hat mehrere Spalten, aber eine davon soll nur einmal beschreibbar sein und dann schreibgeschützt werden.

Optimal wäre es, wenn man durch ein Passwort erst die Zelle wieder bearbeiten kann - optional würde ich Makros beim Öffnen einfach nicht aktivieren.

Besten Dank schon im Voraus für eure Hilfe!

Content-Key: 66833

Url: https://administrator.de/contentid/66833

Printed on: April 19, 2024 at 15:04 o'clock

Member: bastla
bastla Aug 22, 2007 at 14:12:28 (UTC)
Goto Top
Hallo viewpoint!

Ein Beispiel für die gesamte Spalte B:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Then 'Spalte B  
    If Target.Value <> "" Then  
        ActiveSheet.Unprotect "Pass"  
        Target.Locked = True
        ActiveSheet.Protect Password:="Pass", DrawingObjects:=True, Contents:=True, Scenarios:=True, _  
            AllowFormattingCells:=True, AllowFormattingColumns:=True, AllowFormattingRows:=True

    End If
End If
End Sub
Der Code muss dem Blatt zugewiesen werden, was Du am einfachsten über einen Rechtsklick auf das Blattregister und "Code anzeigen" erreichst.

Damit das Programm die Zelle sperren kann, muss vorübergehend der Blattschutz aufgehoben werden, wozu das entsprechende Passwort (im Beispiel oben: "Pass") im Programm als Klartext hinterlegt werden muss.

Wie Dir sicher bekannt ist (aber zu beachten wäre): In der Standardeinstellung sind alle Zellen einer Tabelle geschützt und daher muss zunächst für die übrigen Zellen (Spalten) über "Format / Zellen... / Schutz" der Haken bei "Gesperrt" entfernt werden.

Grüße
bastla
Member: viewpoint
viewpoint Aug 22, 2007 at 14:18:16 (UTC)
Goto Top
Das funktioniert perfekt! Besten Dank!

Will man die Zelle nun ändern, kommt ein Hinweis.. Lässt sich statt diesem Hinweis eine definierte Meldung einbauen?
Oder noch besser... Die Passwortabfrage zum Ändern der Zelle?

Danke!
Member: bastla
bastla Aug 22, 2007 at 14:29:28 (UTC)
Goto Top
Hallo viewpoint!

Will man die Zelle nun ändern, kommt ein Hinweis.. Lässt sich statt diesem Hinweis eine definierte Meldung einbauen? Oder noch besser... Die Passwortabfrage zum Ändern der Zelle?
An sich müsstest Du nur den "gewöhnlichen" Excel-Blattschutz aufheben ("Extras / Schutz > Blattschutz aufheben...") - allerdings wird nach einer Eingabe in Spalte B dieser wieder gesetzt, sodass Du für größere Änderungen in der geschützten Splate vorübergehend im Code die "ActiveSheet.Protect ..."-Zeile mit einem vorangestellten "Rem" (oder Apostroph) deaktivieren könntest.

Grüße
bastla