ich bin schon den ganzen Tag auf der Suche nach der Lösung meines Problems.
Folgendes möchte ich Bewerkstelligen: (datiertes protokollieren von bestimmten Werten für ein Diagramm, vorm Speichern)
Habe eine Mappe wo mir zu gewissen Stati Werte angezeigt werden. C2:C16 (könnte auch sein das man weitere Zellen hin zu nimmt welche nicht genau in dem Spaltenbereich sind, zB. A1, B5, ...)
So jetzt geht es darum, wenn Listen Bearbeitet werden ändern sich meine Werte. Dies möchte ich vorm Abspeichern nun in ein Protokoll oder so ablegen. Kurzgesagt die ausgespuckten Werte mit dem Datum ablegen. Am besten in eine Mappe "Statistik". Hier Könnte nun in Spalte A Datum stehen und in den weiteren Spalten die Werte von C2 bis C16 und weitere in folge... (Die Zellen welche als Datenquelle dienen sind immer die gleichen)
Beim Nächsten mal wenn ich mir die Werte Anlgen lasse sollen die Stati in einer neuen Ziele stehen mit dem neuem Datum. (Wenn die zeit und der Usernabe dabei sind tut es auch nicht weh)
Hab mir schon Beispiele von Protokollen zu Änderungen in Zellen angeschaut.
In dieser weiße:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim ErsteFreieZeile As Long
If Target.Count > 1 Then Exit Sub
If Sh.Name = "Protokoll" Then Exit Sub
If Intersect(Target, Sh.Range("A1:Q35")) Is Nothing Then Exit Sub
With Sheets("Protokoll")
ErsteFreieZeile = .Cells(Rows.Count, 1).End(xlUp).Row + 1
.Cells(ErsteFreieZeile, 1) = Sh.Name
.Cells(ErsteFreieZeile, 2) = Target.Address(0, 0)
.Cells(ErsteFreieZeile, 3) = Target.Value
.Cells(ErsteFreieZeile, 5) = Date
.Cells(ErsteFreieZeile, 6) = Time
.Cells(ErsteFreieZeile, 7) = Environ("username")
End With
End Sub
Hier möchte ich halt dann meine Werte der Stati eintragen und nicht diese Daten wie Tabellnenname, Zellle und Wellwert... welche hier angegeben sind.
Ich möchte nur eine Momentaufnahme festhalten welche ich dann für ein Diagramm mit Datumsskala verwenden kann. Und nicht mehr eine Liste per Hand führen möchte, wie ich es momentan mache, da ich das alles ein wenig vergrößern möchte.
Hoffe habe mein Problem gut genug erklärt, ansonsten einfach fragen.
Möchte es am liebsten so einbaun, dass es diese Abfrage vorm speichern auslöst.
Private Sub Workbook_BeforeSave(ByVal SpeichernAngezeigt As Boolean, Abbrechen As Boolean)
Dim a As Variant
' "Ja" und "Nein" und "Abbrechen" Schaltfläche
a = MsgBox("Bitte wählen Sie ob kein Eitrag erfolgen soll", vbYesNoCancel, "Kein _
Statisikeintrag")
If a = vbYes Then
MsgBox "Gespeichert ohne Eintrag"
ElseIf a = vbNo Then
'Statistikeintrag ins Protokoll Start
'Statistikeintrag ins Protokoll Ende
MsgBox "Gespeichert mit Statistikeintrag"
Else
Abbrechen = True
MsgBox "Sie haben Abbrechen gewählt"
End If
End Sub
Werte Nicht Ablegen mit "Ja", dass es beim Speichern nicht am Standartknopfn für Enter liegt, zwecks bequemlichkeit zum Zwischenspeichern beim arbeiten.
Nach Fertigstellung der Bearbeitung Werte erstellen mit "Nein" Button.
https://www.herber.de/bbs/user/118679.xlsm
Ich denke evtl ist die Lösung gar nicht so kompliziert...
Herzlichen Dank im Voraus, falls mir jemand mit meinem problem helfen möchte.
Tobias