Diesen Makro bekam ich gestern Nacht.
Er funktioniert leider nicht so ganz - die Spalte D Alter Wert "OldValue" zeigt mir keinen Wert an, die Zelle bleibt immer leer.
Wer weiß wo der Fehler liegt ?!?!
*****************************************************************
Hallo Peter,
erstelle in deiner Arbeitsmappe eine Tabelle mit dem Namen "Protokoll" und füge im VB-Editor diesen Code in die Tabelle ein, die du überwachen willst:
Public OldValue
Private Sub Worksheet_Change(ByVal Target As Range)
'Spalte A = Datum
'Spalte B = Zeit
'Spalte C = ZellAdresse
'Spalte D = AlterWert
'Spalte E = Neuer Wert
'Spalte F = User
Dim Cr As Long
Cr = 65536
If Target.Value <> OldValue Then
If Worksheets("Protokoll").Cells(Cr, 1) = "" Then
Cr = Worksheets("Protokoll").Cells(Cr, 1).End(xlUp).Row + 1
End If
Worksheets("Protokoll").Cells(Cr, 1) = Format(Now(), "dd.mm.yyyy")
Worksheets("Protokoll").Cells(Cr, 2) = Format(Now(), "hh:mm")
Worksheets("Protokoll").Cells(Cr, 3) = Target.Address
Worksheets("Protokoll").Cells(Cr, 4) = OldValue
Worksheets("Protokoll").Cells(Cr, 5) = Target.Value
Worksheets("Protokoll").Cells(Cr, 6) = Right(Environ(24), Len(Environ(24)) - InStr(1, Environ(24), "="))
End If
End Sub
****************************************************************
Gruß Peter