Hallo liebe VBAler,
ich habe hier ein Problem.
Mein Code soll bei änderung einer Zelle den neuen Inhalt der Zelle als Kommentar mit User Name und Datum eintragen.
Der Hintergrund zu diesem Code liegt darin, dass wir hier eine zentrale Excel Tabelle für mehrere User verwenden und die Änderungen nachvollziehbar sein sollen. Dies aber nicht über die vorhandene Funktion in Excel :)
Das heißt: War die Zelle vorher leer wird der neue Eintrag in den Kommentar geschrieben. Wir nun noch einmal eine Änderung gemacht, so bleibt der zuerst eingetragene Wert im Kommentar, und ein neuer Eintrag folgt darunter mit der nächsten Änderung.
Eben so, dass man immer weiß was vor Änderung drin stand und was nun drin steht.
1. Ich hätte nun gerne, dass der Kommentar dann automatisch so groß formatiert wird, dass ich die Änderungen sehe.
2. Habe ich das Problem, dass wenn ich mehrer Zellen auf einmal lösche dies dann zu einer Fehlermeldung kommt (Ungütliger Prozeduraufruf oder ungültiges Argument) Hier kommt wird dann im unten folgenden Code die Zeile Set com = rZelle.AddComment hinterlegt. Ich komme leider absolut nich dahinter wie ich den Fehler verhindern kann.
Sub KommentareErgänzen(rZelle As Range)
Dim strKommentar As String
Dim com As Comment
On Error GoTo err_handler
If Not Intersect(rZelle, Selection.SpecialCells(xlCellTypeComments)) Is Nothing Then
strKommentar = rZelle.Comment.Text
strKommentar = strKommentar & Chr(10)
rZelle.Comment.Text strKommentar & Date & Chr(10) & Application.UserName & Chr(10) & rZelle.Value
Exit Sub
End If
err_handler:
Set com = rZelle.AddComment
com.Text strKommentar & Date & Chr(10) & Application.UserName & Chr(10) & rZelle.Value
Set com = Nothing
End Sub
Ich würde mich über jegliche Hilfestellung sehr freuen...
Gruß Matze
|