Live-Forum - Die aktuellen Beiträge
Datum
Titel
18.04.2024 18:04:29
18.04.2024 16:33:24
Anzeige
Archiv - Navigation
1620to1624
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Als Variable gespeicherter Zellinhalt in Kommentar

Als Variable gespeicherter Zellinhalt in Kommentar
09.05.2018 08:57:12
Marco
Moin zusammen,
mag mir jemand bitte kurz schreiben wie ich den ausgelesenen Zellinhalt aus dem oberen Makro (wird aktuell in einer MSGBOX ausgegeben) über das untere Makro in den Kommentar schreiben kann.
Vielen Dank im Voraus,
Marco
Dim vntAfter As Variant, vntBefore As Variant
Dim strAddress As String
strAddress = Selection.Address
vntAfter = Target.Value2
With Application
.EnableEvents = False
.ScreenUpdating = False
.Undo
End With
Range(strAddress).Select
vntBefore = Target.Value2
Target.Value2 = vntAfter
If IsArray(vntBefore) Then
MsgBox vntBefore(1, 1)
Else
MsgBox vntBefore
End If
With Application
.EnableEvents = True
.ScreenUpdating = True
End With
If Target.Count größer 1 Then
Exit Sub
End If
With Target
' Falls noch kein Kommentar in der Zelle vorhanden ist,
' einen Erzeugen und den Ersteintrag rapportieren
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

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Als Variable gespeicherter Zellinhalt in Kommentar
09.05.2018 15:35:52
Matthias
Moin!
Ich würde die vordere sub als Funktion einbauen. Könnte so aussehen.
Private Sub Worksheet_Change(ByVal target As Range)
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 rapportieren
If .Comment Is Nothing Then
.AddComment "Der Kommentar wurde erzeugt am: " & _
Date & " - " & Time & Chr(10) & _
"Vorgenommen durch: " & _
Application.UserName & Chr(10) & _
"Originaleintrag: " & _
alter_wert(target)
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: " & _
alter_wert(target)
End If
End With
End Sub
Function alter_wert(target As Range) As Variant
Dim vntAfter As Variant, vntBefore As Variant
Dim strAddress As String
strAddress = Selection.Address
vntAfter = target.Value2
With Application
.EnableEvents = False
.ScreenUpdating = False
.Undo
End With
Range(strAddress).Select
vntBefore = target.Value2
target.Value2 = vntAfter
If IsArray(vntBefore) Then
alter_wert = vntBefore(1, 1)
Else
alter_wert = vntBefore
End If
With Application
.EnableEvents = True
.ScreenUpdating = True
End With
End Function
VG
Anzeige
AW: Als Variable gespeicherter Zellinhalt in Kommentar
13.05.2018 18:29:41
Marco
Hallo Matthias,
funktioniert super. Vielen Dank für die Hilfe!
Beste Grüße
Marco

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige