Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Makro rückgängig machen
#1
Hallo Forum,

ich möchte einausgeführtes "Makro" rückgangig machen. Was ist zu tun?

Vielen Dank Empo
Antworten Top
#2
Datei vorher speichern und neu aufrufen ist soweit ich weiß die einzige Möglichkeit.
Antworten Top
#3
Hallo E..., durch Doppelpost jedenfalls nicht... (!)
Gruß Jörg
ich muss mich erst wieder ganz langsam heran robben. Also bitte ich um Nachsicht

"Wer immer tut, was er schon kann, bleibt immer das, was er schon ist." - Henry Ford
Antworten Top
#4
Bitte um Entschuldigung für zweimaliges Einstellen.

Ich frage mich wie ich ein "Ausgeführtes Makro" über ein neues "Makro " rückabgewickelt werden kann? Dies muss doch irgendwie möglich sein?

Gruß Empo
Antworten Top
#5
Hallo,

Zitat:Ich frage mich wie ich ein "Ausgeführtes Makro" über ein neues "Makro " rückabgewickelt werden kann? Dies muss doch irgendwie möglich sein?

Änderungen, die per VBA gemacht worden sind, sind nicht wieder zurückzunehmen.

Wenn noch nicht gespeichert wurde, dann kann man die Datei ungespeichert schließen
und neu öffnen, dann hat man den alten Stand zurück.

Ebenso einfach wäre es, eine Sicherungskopie zu haben, in der der alte Stand gespeichert ist.
Mit Sicherungskopien zu arbeiten wird leider viel zu selten genutzt, sollte man aber tun.
Das hilft in vielen Fällen, entspannt zu arbeiten :05:

Dann gibt es auch noch die Möglichkeit, beim bzw, während des Makroablaufes die alten
Werte zu sichern.
Dann und nur dann hat man dann die Möglichkeit, bei Bedarf die alten Werte ebenfalls mit
einem Makro zurückschreiben zu lassen (nicht ganz so trivial, aber machbar).
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
[-] Folgende(r) 1 Nutzer sagt Danke an Käpt'n Blaubär für diesen Beitrag:
  • empo
Antworten Top
#6
Hallo Empo,

mal zu Deinem Beitrag #3

Es ist natürlich eine Frage, was Dein Makro macht. Wenn Du damit irgendwo einen Zellwert um einen Betrag erhöhst, kannst Du das sicher auch wieder abziehen. Darfst das halt nur nicht öfter machen.

Wenn Du irgendwo was einfügst, kannst Du das sicher auch wieder löschen.

Wenn Du eine Zelle rot färbst, kannst Du die Farbe sicher auch wieder rausnehmen.
Aber - wenn die Zelle vorher grün war und Du hast Dir das nicht irgendwo gemerkt - reicht rot rausnehmen nicht ... Wie Peter schon schreiben müsstest Du alte Werte gemerkt haben ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#7
Moin!
Selbstverständlich kann man ein Makro rückgängig machen!
Man muss "nur" 
  • ein "reverse-engeneering" des ursprünglichen Makros machen,
  • dies in eine "Anti-Sub()" speichern
  • und sich der Application.OnUndo-Methode bedienen.

Dann funktioniert sogar Strg+z oder auch der Klick auf die "Rückgängig"-Schaltfläche.

Die Frage ist halt, ob es den Aufwand lohnt!

Ich persönlich würde am Anfang des Makros ein ThisWorkbook.Save setzen.
Rückgängig ginge es mit einem Makro, welches ich in meiner Personal.xlsb habe und diesem den Shortcut Strg+Umschalt+N (für Datei neu laden) zugewiesen habe:
Sub NeuLaden()
'Shortcut Strg+Umschalt+N 
Dim Pfad$
Application.DisplayAlerts = False
With ActiveWorkbook
  Pfad = .FullName
  If .Saved Then Exit Sub
  If Dir(Pfad) <> "" Then
    .Close False
  Else
    MsgBox .FullName & " wurde noch nicht gespeichert!"
    Exit Sub
  End If
End With
Workbooks.Open Pfad
End Sub

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#8
Hallo Ralf

Selbstverständlich ist das für mich aber nicht. Wink
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#9
.OnUndo wird in JEDEM meiner Projekte angewandt, André.
:19:   Blush

Aber davon ab:
Mein NeuLaden nutze ich tatsächlich sehr häufig in der Entwicklungsphase einer Mappe und verstehe MS nicht, warum die sich nicht auch mal was sinnvolles bei Open Office abschauen, wo das "built in" ist.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste