Hallo,
ich bin neu im Thema VBA und habe mir etwas zusammengebastelt und nach einem Eintrag das Datum und die Uhrzeit neben der Zelle einzutragen. Dann wird die Zelle gefrohren um nicht mehr etwas zu ändern, wenn man eine 1 einträgt.
Der Name Worksheet_Change darf nicht doppelt vorkommen, aber dieses bekomme ich nicht hin. Hat da jemand einen Tipp?
Grüße Ofi
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim y As Long
Dim x As Long
y = Target.Row
x = Target.Column
'nur spalte K überprüfen
If (x = 11) Then
'nur zeilen 8 bis 50 überprüfen
If (y >= 8) And (y <= 50) Then
If (x = 11) Then
ActiveSheet.Unprotect
'aktuelles datum rechts daneben setzen
Cells(y, x + 1).Value = Int(Now())
Cells(y, x + 2).Value = Time
ActiveSheet.Protect
End If
End If
End If
Dim rngCell As Range
Set Target = Intersect(Target, Range("K:K"))
If Target Is Nothing Then Exit Sub
Me.Unprotect
For Each rngCell In Target
rngCell.Locked = rngCell = "1"
Next
Me.Protect
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim a As Long
Dim b As Long
a = Target.Row
b = Target.Column
'nur spalte A überprüfen
If (b = 1) Then
'nur zeilen 8 bis 50 überprüfen
If (a >= 8) And (a <= 50) Then
If (b = 1) Then
ActiveSheet.Unprotect
'aktuelles datum rechts daneben setzen
Cells(a, b + 1).Value = Int(Now())
Cells(a, b + 2).Value = Time
ActiveSheet.Protect
End If
End If
End If
Dim rngCell As Range
Set Target = Intersect(Target, Range("A:A"))
If Target Is Nothing Then Exit Sub
Me.Unprotect
For Each rngCell In Target
rngCell.Locked = rngCell = "1"
Next
Me.Protect
End Sub
|