Ich habe ein Makro, das auf dem Ereignis "Worksheet_SelectionChange" ausgelöst wird. Das Makro validiert Daten einer Spalte, es ändert die Hintergrundfarbe der Zelle, falls sie falsch ist.
Das Problem ist nach dem Ausführen des Makros, es löscht den Verlauf der Änderungen (Ctrl Z) des gesamten Dokuments, auch die Verlaufsänderungen anderer Zellen, die ich nicht validiert habe.
Wie kann ich dieses Problem lösen?
Danke.
Wie die anderen bereits gesagt haben, gibt es keine Möglichkeit, ein Makro zum Ändern des Arbeitsblatts daran zu hindern, den Rückgängig-Stapel zu löschen.
Als weiteren Nebeneffekt können Sie das Makro nicht rückgängig machen, ohne selbst eine Rückgängig-Routine zu schreiben, was sehr mühsam sein kann.
Hier ist zu hoffen, MS ändert dies in der Zukunft.
Ich hatte dieses Problem und musste schließlich benutzerdefinierte Funktionen zum Rückgängigmachen erstellen. Es funktioniert sehr ähnlich wie das native Rückgängig mit Ausnahme der folgenden. Ich bin sicher, dass sie mit ein wenig mehr Aufmerksamkeit behandelt werden können.
1) Benutzerdefiniertes Rückgängig macht die Formatierung nicht rückgängig. Nur Text.
2) Der benutzerdefinierte Rückgängig-Befehl wird bis zum Ende des benutzerdefinierten Stapels ausgeführt. Sobald dies geschieht, wird der Stapel gelöscht und es wird nicht zwischen den letzten beiden Elementen wie in der nativen Undo-Funktion umgeschaltet.
2.1) Verfügt nicht über REDO-Funktionalität.
Laden Sie eine Arbeitskopie dieses Codes herunter.
Screenshot des VBAProject-Layouts
Modul UndoModule
%Vor%Klassenmodul UndoStackEntry
%Vor%Auch erforderlich, um die folgenden Ereignisse im WORKBOOK-Excel-Objekt anzuhängen.
%Vor%Schließlich sollte jedem Blatt, auf dem Sie die Arbeit rückgängig machen müssen, der folgende Code an seine Ereignisse angehängt sein.
%Vor%