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 den Befehl Rückgängig aus dem Menü Bearbeiten oder mit dem Rückgängig-Werkzeug in der Symbolleiste auswählen 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 aber 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"

Wenn der Benutzer nach diesem Befehl die Liste „Rückgängig“ anzeigt, wird der Text „Primäres Makro“ angezeigt. Wenn sie diese Option aus der Liste „Rückgängig“ auswählen, wird Ihr Makro „Rückgängig“ (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 (2060) gilt für Microsoft Excel 97, 2000, 2002 und 2003. Eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Excel (Excel 2007 und höher) finden Sie hier: