"Rückgängig" mit Msgbox
14.08.2018 20:24:00
Luggas
da mein letzter Thread nicht sonderlich gut "gelaufen" ist...
--> https://www.herber.de/forum/messages/1639313.html
...würde ich eine "rückgängig" Funktion nun gern (zumindest Übergangsweise) via MsgBox (ja / nein) handhaben.
Ich verfolge den Ansatz, dass wenn der User auf "nein" klickt, der Wert auf den Ursprungswert zurückgesetzt wird.
Mit folgendem Code habe ich dies versucht umzusetzen:
Dim oldValue As Variant
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
oldValue = Target.Value
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Handler
If Target.Column = 4 And Target.Value "" Then
Application.EnableEvents = False
Target.Offset(0, 9) = Format(Now(), "dd.mm.yyyy")
Target.Offset(0, 10) = "xxx"
Application.EnableEvents = True
If MsgBox("Bestand korrekt geändert?", vbYesNo) = vbNo Then
Target.Offset(0, 0) = oldValue
MsgBox "Bestand zurückgesetzt"
Else
MsgBox "Datum und Kürzel wurde geändert!"
End If
End If
Handler:
End Sub
Nun scheitere ich aber an der infinity-loop, da der Wert in Spalte 4 (was meine 1. If-Abfrage ja permanent überprüft) sich ja dann wieder ändert (ursprünglicher Wert wird dann natürlich als Änderung angesehen).
Gibt es eine Möglichkeit einfach die Ausführung des Makros dann zu beenden oder wie ist das am besten zu bewerkstelligen?
Vielen Dank.