Excel: Änderungsdatum automatisch als Kommentar einfügen

Dieses Thema Excel: Änderungsdatum automatisch als Kommentar einfügen im Forum "Microsoft Office Suite" wurde erstellt von Ace_NoOne, 2. Aug. 2005.

Thema: Excel: Änderungsdatum automatisch als Kommentar einfügen Hallo zusammen, ist es in Excel möglich, beim Ändern einer Zelle automatisch das aktuelle Datum (inklusive Uhrzeit)...

  1. Hallo zusammen,

    ist es in Excel möglich, beim Ändern einer Zelle automatisch das aktuelle Datum (inklusive Uhrzeit) als Kommentar zur Zelle einfügen zu lassen? Bestehende Kommentare sollten dabei nicht überschrieben werden, sondern die neuen Daten einfach als neue Zeile eingefügt werden.
    Ich vermute mal, das läuft auf Makro-Programmierung raus, aber ich wüsste da nicht, wie/wo ich anfangen soll. Besonders komplex sollte das aber nicht sein, oder?
     
  2. Code:
    Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    Target.Comment.Text Target.Comment.Text & Die Zelle wurde am  & Format(Date, dd.mm.yy) &  um  & Format(Now(), hh:mm:ss) &  durch  & ActiveWorkbook.BuiltinDocumentProperties(7).Value &  geändert.
    End Sub
    
    Probier mal dies.

    Gruß Lisa
     
  3. Vielen Dank.
    Allerdings scheint's nicht zu funktionieren - jedenfalls kann ich in der Tabelle keine Änderung entdecken (auch nicht, wenn ich Target.Comment.Text Target.Comment.Text zu Target.Comment.Text = Target.Comment.Text ändere).

    Wo soll ich den Code denn einfügen? Ich hab' halt den VB Editor geöffnet und den Code unter DieseArbeitsmappe und später auch als neues Modul eingefügt - aber es tut sich nichts...
     
  4. Hallo Ace_noOne,

    was Lisa geschrieben hat funktioniert, wenn die Zelle bereits einen Kommentar hat.

    Folgender Makro sollte das Gewünschte machen.
    Er ist in die Code-Seite der Mappe zu kopieren (DieseArbeitsmappe).
    Code:
    Option Explicit
    
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range)
      Dim r As Range
      
     ->Für jede geänderte Zelle
      For Each r In Target
        Call AenderungskennungAlsKommentar(r)
      Next
    
      Set r = Nothing
    End Sub
    
    '********************************************************
    Private Function AenderungskennungAlsKommentar(r As Range)
    '*** für die geänderte Zelle wird im Kommentar
    '*** Benutzerkennung und Änderungszeitpunkt
    '*** eingetragen
    '*** Ist kein Kommentar vorhanden, wird ein neuer angelegt
      
      Dim s As String, s_user As String
      
     ->ggf. vorhandenen Kommentar lesen
      On Error Resume Next
      s = r.Comment.Text
      If Err.Number <> 0 Then
        Err.Clear
       ->neuen Kommentar anlegen
        r.AddComment
        r.Comment.Visible = False
        s = 
      End If
      On Error GoTo 0
      
     ->Wenn Kommentar vorhanden, Zeilenumbruch anfügen
      If s <>  Then s = s & vbLf
      
     ->Letzten Benutzer feststellen
      s_user = ActiveWorkbook.BuiltinDocumentProperties(7)
      
     ->Datum und Benutzer an Kommentar anfügen
      s = s & Format(Now(), yyyymmdd_hhnn: ) & s_user
      
     ->Kommentar eintragen
      r.Comment.Text s
      
    End Function
    Damit du nicht alle Kommentare von Hand löschen mußt, noch ein Makro zum Löschen der Kommentare auf einem Blatt.
    (Der sollte in einem Modul, aber nicht in der betreffenden Arbeitsmappe liegen, sonst verwendet ihn der Benutzer  ;D )
    Code:
    Option Explicit
    '*********************************************************
    Sub AlleKommentareAufBlattLoeschen()
     ->löscht alle Kommentare auf dem aktiven Blatt
    
      Dim anz As Long, x As Long
      anz = ActiveSheet.Comments.Count
      For x = anz To 1 Step -1
        ActiveSheet.Comments(x).Delete
      Next
    End Sub
    Gruß matjes :)
     
  5. PERFEKT! Vielen Dank!!

    Wenn ich jetzt noch rausfinden könnte, wie ich verhindere, dass die Kollegen bei jedem Öffnen die Warnmeldung zur Makro-Aktivierung bestätigen müssen, wäre ich nahezu wunschlos glücklich... ;) (Es läuft wohl auf das Erstellen einer digitalen Signatur raus, aber darüber weiß ich kaum was.)
    UPDATE: http://www.wintotal-forum.de/index.php/topic,79960.0.html - da steht's doch! [​IMG]

    UPDATE #2: Wie kann ich erreichen, dass die Kommentare nur in bestimmten Spalten eingefügt werden? Ich habe versucht, vor Call AenderungskennungAlsKommentar(r) (in Sub Workbook_SheetChange) eine entsprechende Abfrage einzufügen, kenne aber die notwendige Funktion zur Abfrage der Spalte(nnummer) nicht...
     
  6. Hallo Ace_NoOne,

    das sieht dann z.B. so aus für Spalte A und B
    Code:
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range)
      
      Dim r As Range
    
     ->Für jede geänderte Zelle
      For Each r In Target
    
       ->Wenn Spalte A oder B
        If (r.Column = 1) Or (r.Column = 2) Then
         ->dann Kommentar eintragen
    
          Call AenderungskennungAlsKommentar(r)
    
        End If
    
      Next
      Set r = Nothing
    End Sub
    Gruß Matjes :)
     
  7. Graçias, señor! :)
     
  8. de nada  ;)
     
Die Seite wird geladen...

Excel: Änderungsdatum automatisch als Kommentar einfügen - Ähnliche Themen

Forum Datum
Excel-Feature gesucht Microsoft Office Suite 11. Okt. 2016
Excel Tabelle Werte zu ordnen Microsoft Office Suite 23. Sep. 2016
Excel: Bereiche auf 'leer' Überprüfen Microsoft Office Suite 15. Sep. 2016
Import Datensatz inkl = und - Zeichen in Excel/Libre CALC Software: Empfehlungen, Gesuche & Problemlösungen 20. Mai 2016
Bestimmter User kann seine Excel Dateien nicht mehr direkt öffnen Software: Empfehlungen, Gesuche & Problemlösungen 16. Apr. 2016