Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Frame
BildScreenshot zu Frame Frame-Seite mit Beispielarbeitsmappe aufrufen

Zellinhalte protokollieren - nur bestimmte Zellen

Betrifft: Zellinhalte protokollieren - nur bestimmte Zellen von: Werner
Geschrieben am: 31.10.2014 13:04:46

Hallo Zusammen
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

  

Betrifft: AW: Zellinhalte protokollieren - nur bestimmte Zellen von: Rudi Maintaire
Geschrieben am: 31.10.2014 13:14:54

Hallo,

....
If not Intersect(Target,Range("B10:C80")) is nothing then
  With Target
    .....
    Dein Code
    ..... 
  End With
End If
End Sub
Gruß
Rudi


  

Betrifft: THX Rudi - passt :))) OT von: Werner
Geschrieben am: 31.10.2014 13:37:38




 

Beiträge aus den Excel-Beispielen zum Thema "Zellinhalte protokollieren - nur bestimmte Zellen"