Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Kommentare aus Zwischenablage entfernen
#21
Hallo,

(17.04.2019, 15:50)cgo schrieb: Daher war die Idee das gepostete Makro weiterhin zu nutzen und die Kommentare irgendwie von der Zwischenablage unberührt zu lassen, d.h. nicht mit zu kopieren bzw. nicht mit einzufügen.

teste es mal damit:
'Automatisches Einfügen eines Kommentar in Spalte A bei Ändern des Zellinhalts
Private Sub Worksheet_Change(ByVal Target As Range)
 Dim varT As Variant
 If Not Intersect(Target, Columns("A:A")) Is Nothing And Target.Count = 1 Then
   varT = Target.Formula
   On Error Resume Next
   Application.EnableEvents = False
   Application.Undo
   If Target.Comment Is Nothing Then
      Target.AddComment.Text Application.UserName & Chr(10) & Date & " " & Format(Time, "hh:mm")
   Else
      Target.Comment.Text Target.Comment.Text & Chr(10) _
            & Application.UserName & Chr(10) & Date & " " & Format(Time, "hh:mm")
   End If
   Target.Formula = varT
   Application.EnableEvents = True
   On Error GoTo 0
 End If
End Sub
Gruß Uwe
Antwortento top
#22
Moin Uwe,

mal noch eine kleine Verbesserungsidee Smile Ich würde statt .Value .Formula nehmen, falls eine drin steht
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
Antwortento top
#23
Moin André,

habs geändert. Danke.

Gruß Uwe
Antwortento top
#24
Besten Dank! Das funktioniert prima für die Spalte A : ) Vielen Dank!

Kopiere ich jedoch eine Zelle aus Spalte A in eine Zelle einer anderen Spalte, dann ist nach wie vor das Datum enthalten. Hast du eine Idee, wie man dies verhindern kann?

Ich habe noch eine zweite Frage: kann man Excel so konfigurieren, dass es beim Löschen des Inhalts einer Zelle auch automatisch den Kommentar entfernt?!
Antwortento top
#25
Hallo,

beide Wünsche werden hiermit erfüllt: Wink

'Automatisches Einfügen eines Kommentars bei Ändern des Zellinhaltes 
'Automatisches Löschen eines Kommentars bei Entfernen des Zellinhaltes 
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim varT As Variant
  With Target
    If .Count = 1 Then
      If Len(.Formula) Then
        varT = .Formula
        On Error Resume Next
        Application.EnableEvents = False
        Application.Undo
        If .Comment Is Nothing Then
           Target.AddComment.Text Application.UserName & Chr(10) & Date & " " & Format(Time, "hh:mm")
        Else
           .Comment.Text .Comment.Text & Chr(10) _
                 & Application.UserName & Chr(10) & Date & " " & Format(Time, "hh:mm")
        End If
        .Formula = varT
        Application.EnableEvents = True
        On Error GoTo 0
      Else
        If Not .Comment Is Nothing Then
          .Comment.Delete
        End If
      End If
    End If
  End With
End Sub


VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 14 - mit VBAHTML 12.6.0


Gruß Uwe
[-] Folgende(r) 1 Benutzer sagt Danke an Kuwer für diesen Beitrag:
  • LuckyJoe
Antwortento top
#26
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub

    If Target.Comment Is Nothing Then Target.AddComment
    Target.Comment.Text Target.Comment.Text & Application.UserName & Format(Now, "   dd.mm.yyyy hh:mm") & vbLf
    If Target = "" Then Target.Comment.Delete
End Sub

oder

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    
    On Error Resume Next
    Target.AddComment
    With Target.Comment
        .Text .Text & Application.UserName & Format(Now, "   dd.mm.yyyy hh:mm") & vbLf
        If Target = "" Then .Delete
    End With
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antwortento top
#27
@snb,

das geht doch nicht. der Change-Code wirkt auf die eingefügten Daten, der alte Kommentar ist mit Deiner Variante dann weg. Uwe hat deswegen das Undo drin, nimmt vorher aber die neuen Daten auf und packt sie dann wieder rein.
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
Antwortento top
#28
Code:
der alte Kommentar ist mit Deiner Variante dann weg

Hier nicht (E2010).
Ich habe beide Varianten getestet. Laufen tadellos.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antwortento top
#29
@snb,

nö, nicht so, dass der alte Kommentar erhalten bleibt und ggf. erweitert wird 22

   
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
Antwortento top
#30
   
Sieht hier so aus:


Angehängte Dateien
.xlsb   __logboek.xlsb (Größe: 13,5 KB / Downloads: 1)
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste