2.5k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo zusammen,
normalerweise kann mann jeden letzten Schritt rückgängig machen. Das geht leider nicht, wenn der letzte Schritt das ausführen eines Makros per Button war.
Gibt es die Möglichkeit ein universelles Makro zu erstellen, mit dem man dann (per Button) den letzten Schritt - das ausführen eines Makros - rückgängig machen kann.
Gruß Flodnug

3 Antworten

0 Punkte
Beantwortet von
Hallo Flodnug,

Eine Rückgängig-Funktion für jeden einzelnen Befehl ist nicht vorgesehen. Das würde bei großen Makros zu erheblichen Laufzeitverzögerungen, unnötig belegten Arbeitsspeicher und Problemen mit den Grenzen der Rückgängig-Liste führen.

Das Beste was ich dir anbieten kann, ist folgendes Makro:

Dim swb As String, wb As Workbook 'steht ganz oben im Modul
Sub test() 'führt den Code deines Buttons aus

Sicherheitspfad = "E:\Meinpfad\MeinUnterpfad\" 'das letzte Zeichen muss "\" sein!
Set wb = ActiveWorkbook 'hier dein Workbook angeben.

'speichert den derzeitigen Stand der Datei in einer Sicherheitskopie ab.
swb = Sicherheitspfad & "Kopie von " & wb.Name
Application.DisplayAlerts = False
wb.SaveCopyAs swb
Application.DisplayAlerts = True

'ab hier dein Code
'...
'dein Code bis hier

'legt in der Rückgängig-Liste einen Eintrag an, der auf ein anderes
'Makro verweist, welches die gespeicherte Dateikopie öffnet.
Application.OnUndo "Makro", "Rueckgaengig" 'letzter Befehl im Code

End Sub
Sub Rueckgaengig()
On Error Resume Next
Workbooks.Open swb
wb.Close False
End Sub

Probiers mal aus. In meiner alten Excel-Version klappts prima. Wie verhält es sich bei dir?

Gruß Mr. K.
0 Punkte
Beantwortet von
Hallo Mr.K.,
danke erstmal für Deine Antwort.
Ich werde mich morgen mal an die Aufgabe machen.
Gebe Dir auf alle Fälle noch ein Feedback.
Gruß Flodnug
0 Punkte
Beantwortet von
Hallo Mr.K.,
ich hatte Dir ja versprochen, noch ein Feedback zu geben.
Aus irgendwelchen Gründen klappt der Code nicht.
Nachdem ich einiges probiert habe, habe ich das Projekt aufgegeben.
Ich möchte mich aber nochmal für Deine Hilfe bedanken.
Danke und frohe Weihnachten
Gruß Flodnug
...