Ich komme leider bei meinem VBA nicht mehr weiter, habe leider auch nirgends was gefunden was ich mit meinen Kenntnissen zurechtzimmern könnte.
Ich habe folgendes VBA in meiner Excel Datei:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim lngZeile As Long
Application.EnableEvents = False
With Worksheets("Änderungsprotokoll")
lngZeile = .Range("A65536").End(xlUp).Row + 1
.Cells(lngZeile, 1).Value = Environ("UserName") 'Änderungen_dokumentieren
.Cells(lngZeile, 2).Value = Date 'Datum
.Cells(lngZeile, 3).Value = Time & Format(hhmm) 'Zeit
.Cells(lngZeile, 4).Value = Sh.Name 'Blattname, auf dem geändert wurde
.Cells(lngZeile, 5).Value = Target.Address 'Zelle der Änderung
.Cells(lngZeile, 6).Value = mvntWert 'vorheriger Wert
.Cells(lngZeile, 7).Value = Target.Value 'neuer Eintrag
End With
Application.EnableEvents = True
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
mvntWert = Target.Value
End Sub
Das Ganze funktioniert soweit auch einwandfrei. Nun möchte ich aber, dass wenn sich in einer Zeile ein Wert ändert auch gleich einige Zellen die nicht verändert worden sind mit dokumentiert werden. Meine Tabelle sieht folgender massen aus:
In den Spalten B bis F Stehen Werte die nicht verändert werden.
In den Spalten I bis L verändern die Benutzer mittels Zellendropdown die Werte.
Da des öfteren neue Zeilen hinzugefügt oder gelöscht werden ist es nach einer gewissen Zeit fast unmöglich nachzuvollziehen was denn irgendwann mal in den Zellen B bis F der jeweiligen Zeile gestanden ist, da die Zellen ja "absolut" und nicht "relativ" protokolliert werden.
Mein Ziel: (Beispiel) Änderung in Zelle I5 > Protokollierung der Änderung im Änderungsprotokoll wie bisher plus den Inhalt der Zellen B5, C5, D5, E5 und F5 auch mit ins Änderungsprotokoll.
Für Euch Profis ist das bestimmt ein Kinderspiel, ich denke hier sind die richtigen Leute dafür.
Vielen Dank
Beatsurfer