mit folgendem Code "protokolliere" ich sämtliche Änderungen, die in einer Zelle durchgeführt wurden - in dem jeweiligen Kommentar-Feld.
Dieses für er für ALLE Zellen des jeweiligen Tabellenblatts durch.
Wie muss der Code angepasst werden,
dass diese Protokollierung nur für bestimmte Zellbereiche (z.B. von B10-C80) durchgeführt wird ?
Freu mich auf einen Tipp
Besten Gruss
Werner
hier der code:
Private Sub Worksheet_Change(ByVal Target As Range)
' code: Protokollieren Zellinhalte in Kommentar
Dim strComment As String
' Fehler unterdrücken, die beim Ausführungen von Aktionen
' auf ganze Bereiche ausgelöst werden könnten
If Target.Count > 1 Then
Exit Sub
End If
With Target
' Falls noch kein Kommentar in der Zelle vorhanden ist,
' einen Erzeugen und den Ersteintrag eintragen
If .Comment Is Nothing Then
.AddComment "Der Kommentar wurde erzeugt am: " & _
Date & " - " & Time & Chr(10) & _
"Vorgenommen durch: " & _
Application.UserName & Chr(10) & _
"Originaleintrag: " & _
.Value
Else
' Den alten Text zwischenspeichern
strComment = .Comment.Text & Chr(10)
' Den neuen Text aufbereiten und zurückschreiben
.Comment.Text strComment & Chr(10) & _
"Änderung vorgenommen am: " & _
Date & " - " & Time & Chr(10) & _
"Änderung vorgenommen durch: " & _
Application.UserName & Chr(10) & _
"Geänderter Inhalt: " & _
.Value
End If
' Automatische Anpassung der Größe des Kommentarfeldes
Call Kommgroesse
End With
End Sub
Sub Kommgroesse()
Dim com As Comment
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
For Each com In ws.Comments
With com
.Shape.TextFrame.AutoSize = True
End With
Next
Next
End Sub