ich habe einen Code für eine Änderungshistorie, es funktioniert auch alles ganz gut, nur ich bekommen immer eine Undo Fehlermeldung.
Erkennt einer den Fehler, den der Code enthält ?
Private Sub Worksheet_Change(ByVal Target As Range)
'CR
Const xRg As String = "A1:AQ1000"
Dim strOld As String
Dim strNew As String
Dim strCmt As String
Dim xLen As Long
With Target(1)
If Intersect(.Cells, Range(xRg)) Is Nothing Then Exit Sub
strNew = .text
Application.EnableEvents = True
Application.Undo
strCmt = "Edit: " & Format$(Now, "dd Mmm YYYY hh:nn:ss") & " by " & _
Application.UserName & Chr(10) & "Previous Text :- " & strOld
If Target(1).Comment Is Nothing Then
.AddComment
Else
xLen = Len(.Comment.Shape.TextFrame.Characters.text)
End If
With .Comment.Shape.TextFrame
.AutoSize = True
.Characters(Start:=xLen + 1).Insert IIf(xLen, vbLf, "") & strCmt
End With
End With
End Sub
Beste Grüße