Hallo,
meinst du so was?
Vorbereitungen:
Spalte C und Spalte M im Uhrzeitformat nach deinen Wünschen formatieren
alle Zellen auf dem Blatt entsperren
Passwort im Code an deine Bedürfnisse anpassen
Blattname im Code an deine Bedürfnisse anpassen
Datei speichern
Beim nächsten Start der Datei sind alle Zelle beschreibbar, der Blattschutz ist gesetzt.
Beim Eintrag einer 1 in Spalte A oder K ab Zeile 8 bis Zeile 50 wird jeweils in die Zelle rechts daneben das Datum eingetragen, eine Zelle neben dem Datum wird die Uhrzeit eingetragen. Die Zelle mit der 1, die Zelle mit dem Datum und die Zelle mit der Uhrzeit werden gesperrt.
Den ersten Code ins Codemodul von "Diese Arbeitsmappe". Dadurch wird beim Start der Datei der Blattschutz auf das entsprechende Blatt gesetzt, UserInterfaceOnly = True bedeutet, dass Änderungen durch Makros durchgeführt werden dürfen. So sparst du dir im Code das ständige entsperren und wieder sperren des Tabellenblattes.
Private Sub Workbook_Open()
'Blattname und Passwort anpassen
Worksheets("Tabelle1").Protect Password:="DeinPasswort", UserInterfaceOnly:=True
End Sub
Den zweiten Code ins Codemodul des Tabellenblattes, auf dem er sich auswirken soll.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Or Target.Column = 11 Then
If Target.Row >= 8 And Target.Row <= 50 Then
If Target.Count > 1 Then
MsgBox "Keine Mehrfachauswahl."
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
Exit Sub
End If
If Not Target Is Nothing Then
If Target.Value = 1 Then
Target.Offset(, 1) = Date
Target.Offset(, 2) = Time
Range(Cells(Target.Row, Target.Column), Cells(Target.Row _
, Target.Column + 2)).Locked = True
End If
End If
End If
End If
End Sub
Gruß Werner
|