Ausgeführtes Makro rückgängig machen in Excel
Schritt-für-Schritt-Anleitung
-
Backup erstellen: Bevor du ein Makro ausführst, solltest du eine Sicherungskopie deiner Excel-Datei erstellen. Du kannst dazu folgenden VBA-Code verwenden:
Sub BackupErstellen()
Dim originalName As String
originalName = ThisWorkbook.Name
ThisWorkbook.SaveCopyAs "XYZ_backup.xls"
End Sub
-
Makro ausführen: Führe dein gewünschtes Makro aus, welches die Berechnungen oder Veränderungen vornimmt.
-
Rückgängig machen: Wenn du die Änderungen rückgängig machen möchtest, öffne die Backup-Datei und speichere sie unter dem ursprünglichen Namen:
Sub Wiederherstellen()
Workbooks.Open "XYZ_backup.xls"
ThisWorkbook.Close SaveChanges:=False
End Sub
Häufige Fehler und Lösungen
-
Fehlermeldung: Sub oder Function nicht definiert: Stelle sicher, dass du den Code in ein neues Modul in der VBA-Umgebung eingefügt hast. Schließe die VBA-Umgebung und versuche es erneut.
-
Excel Rückgängig geht nicht: Wenn dein Makro Änderungen vornimmt, die nicht über den Rückgängig-Button in Excel zurückgesetzt werden können, ist es wichtig, vorher ein Backup zu erstellen.
-
Excel Datei überschrieben rückgängig machen: Wenn du die Originaldatei versehentlich überschrieben hast, öffne die Backup-Datei, die du zuvor erstellt hast.
Alternative Methoden
Eine alternative Methode, um etwas rückgängig zu machen, wäre die Erstellung eines Umkehroperation-Makros. Du kannst ein Makro schreiben, das die vorherigen Werte speichert und diese dann zurücksetzt. Hier ein einfaches Beispiel:
Sub Umkehroperation()
Dim rng As Range
Set rng = ThisWorkbook.Sheets("Sheet1").Range("A1:B10")
Dim originalValues As Variant
originalValues = rng.Value
' Hier kommen die Änderungen
' ...
' Rückgängig machen
rng.Value = originalValues
End Sub
Praktische Beispiele
-
Makro zur Sicherung und Wiederherstellung:
Sub BackupUndWiederherstellung()
Call BackupErstellen
' Führe hier dein Hauptmakro aus
' ...
' Um rückgängig zu machen, rufst du anschließend Wiederherstellen auf.
End Sub
-
Automatisches Speichern bei Makrostart:
Du kannst den Code so anpassen, dass die Datei automatisch beim Start des Makros abgespeichert wird:
Sub AutomatischesBackup()
ThisWorkbook.SaveCopyAs "XYZ_backup.xls"
' Führe hier dein Makro aus
End Sub
Tipps für Profis
-
Nutze Excel VBA Undo: Es gibt keine eingebaute Undo-Funktion für Makros, aber du kannst mit VBA eine eigene Undo-Lösung implementieren.
-
Regelmäßige Backups: Erstelle regelmäßig Backups deiner wichtigen Excel-Dateien, um Datenverlust zu vermeiden.
-
Makros in separaten Modulen: Halte deine Makros in separaten Modulen organisiert, um den Überblick zu behalten.
FAQ: Häufige Fragen
1. Wie kann ich ein Makro rückgängig machen?
Es ist nicht möglich, Änderungen durch ein Makro direkt rückgängig zu machen. Du solltest daher immer ein Backup erstellen, bevor du ein Makro ausführst.
2. Was tun, wenn Excel rückgängig nicht möglich ist?
Wenn Excel die Rückgängig-Funktion nicht erlaubt, kannst du die Backup-Datei öffnen und die Änderungen von dort wiederherstellen.
3. Gibt es eine Möglichkeit, ein Makro so zu gestalten, dass es Änderungen zurücksetzt?
Ja, du kannst ein Umkehroperation-Makro schreiben, das die vorherigen Werte speichert und diese bei Bedarf zurücksetzt.
4. Wo finde ich gute Ressourcen zur VBA-Programmierung?
Einige empfohlene Bücher sind "Excel VBA für Dummies" und Bernd Held's Werke. Auch Online-Kurse können hilfreich sein, um deine VBA-Fähigkeiten zu verbessern.