Während Sie in Excel arbeiten, gibt es in Bezug auf die von Ihnen vorgenommenen Änderungen ein gewisses „Sicherheitsnetz“. Die meisten Menschen wissen, dass sie, wenn sie etwas durcheinander bringen, schnell Strg + Z drücken oder auf das Rückgängig-Werkzeug oben links im Programmfenster klicken können. Wenn Ihnen das, was Sie gerade getan haben, nicht gefällt, können Sie es einfach rückgängig machen und zu dem zurückkehren, was vorher war.

Wenn Sie jedoch ein Makro ausführen, spielt das Makro mit der Rückgängig-Liste nicht „gut“. Wenn Sie ein Makro ausführen, wird die Rückgängig-Liste vollständig gelöscht. Daher können Sie die Auswirkungen des Ausführens des Makros nicht automatisch rückgängig machen. In Excel oder VBA gibt es keinen intrinsischen Befehl zum Beibehalten der Rückgängig-Liste. Es gibt jedoch mehrere Möglichkeiten, wie Sie das Problem angehen können.

Wenn Sie der Meinung sind, dass Sie die Auswirkungen eines Makros rückgängig machen möchten, können Sie zunächst Ihre Arbeitsmappe speichern, bevor Sie das Makro ausführen. Auf diese Weise erhalten Sie eine Vor-Makro-Version der Arbeitsmappe.

Wenn Sie später zu dieser Version zurückkehren möchten, schließen Sie einfach die Arbeitsmappe ohne zu speichern und laden Sie sie erneut von der Festplatte.

Eine andere Möglichkeit besteht darin, die Art und Weise, wie Sie Ihre Makros erstellen, zu überdenken. Wenn Sie ein Makro haben, das viele Informationen in Ihrem Arbeitsblatt verarbeitet, codieren Sie das Makro so, dass es den Status aller Änderungen im Speicher beibehält. Sie können dann ein separates Makro erstellen, das diese Informationen liest und die Auswirkungen des ersten Makros effektiv rückgängig macht.

Um diesen Ansatz wirklich praktisch zu gestalten, kann der letzte Schritt in Ihrem primären Makro darin bestehen, Informationen auf dem Rückgängig-Stapel zu „stopfen“. Diese Informationen können dann vom Benutzer verwendet werden, um das von Ihnen erstellte Makro rückgängig zu machen. Beispielsweise könnte der folgende Makrobefehl der letzte in Ihrem primären Makro sein:

Application.OnUndo "Primary Macro", "UndoPrimary"

Nach diesem Befehl wird dem Benutzer beim Anzeigen der Rückgängig-Liste der Text „Primäres Makro“ angezeigt. Wenn sie diese Option aus der Liste „Rückgängig“ auswählen, wird Ihr „Rückgängig“ -Makro (UndoPrimary) ausgeführt.

Sie sollten beachten, dass dieser Ansatz nicht speichert, was in der Rückgängig-Liste enthalten war, bevor Sie das Makro ausgeführt haben – es scheint keine Möglichkeit zu geben, dies zu tun. Wenn Ihr primäres Makro ausgeführt wird, ist in der Liste „Rückgängig“ nur eine einzige Option verfügbar: „Primäres Makro“.

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (12513) gilt für Microsoft Excel 2007, 2010, 2013, 2016, 2019 und Excel in Office 365. Eine Version dieses Tippes für die ältere Menüoberfläche von Excel finden Sie hier: