ich möchte in meinem Tabellenblatt bzw. Arbeitsmappe in der Spalte L eine Änderung vornehmen, wobei dann in der Spalte M dann in der gleichen Zeile das Datum erscheint an dem Tag eine Änderung vorgenommen wurde.
Ich habe hier ein Beispiel:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 12 Then
Target.Offset(0, 1) = Date
End If
End Sub
Allerdings funktioniert es nicht wirklich. Habe auch noch diesen Code im Tabellenblatt stehen...
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
' Datum umwandeln von 010205 in 01.02.05
Dim RaBereich As Range, RaZelle As Range
Set RaBereich = Range("A5:A26,A34:A55,A64:A85,A94:A115,A124:A145,A154:A175,A184:A205,A214: _
_
_
_
A235,A244:A265,A274:A295,A304:A328,C5:C26,c34:c55,c64:c85,c94:c115,c124:c145,c154:c175,c184: _
c205,c214:c235,c244:c265,c274:c295,c304:c328") 'Bereich der Wirksamkeit
' sollten noch mehr Bereiche benötigt werden
' Set RaBereich = Union(Range("C7:I26"), Range("L7:R26"), Range("U7:AA26"), Range("AD7:AJ26") _
_
_
_
)
' ActiveSheet.Unprotect ("Passwort")
For Each RaZelle In Range(Target.Address)
If Not Intersect(RaZelle, RaBereich) Is Nothing And _
(Len(RaZelle.Value2) = 6 Or Len(RaZelle.Value2) = 5) And IsNumeric(RaZelle.Value2) _
_
_
_
Then
Application.EnableEvents = False
If Len(RaZelle.Value2) = 6 Then
RaZelle.Value = CDate(Mid(RaZelle.Value2, 1, 2) & "." & Mid(RaZelle.Value2, 3, _
_
_
_
2) & "." _
& Mid(RaZelle.Value2, 5, 2))
Else
RaZelle.Value = CDate(Mid(RaZelle.Value2, 1, 1) & "." & Mid(RaZelle.Value2, 2, _
_
_
_
2) & "." _
& Mid(RaZelle.Value2, 4, 2))
End If
RaZelle.NumberFormat = "dd/ mmm.;@"
Application.EnableEvents = True
Else
RaZelle.NumberFormat = "0"
End If
Next RaZelle
Application.EnableEvents = True
If Target.Column = 4 Then
Target.Offset(0, -2) = Date
End If
' ActiveSheet.protect ("Passwort")
Set RaBereich = Nothing
End Sub
Würde mich sehr über Unterstützung freuen.
Gruß
André