Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender Navigationstipps
Inhaltsverzeichnis

Makro rückgängig machen

Makro rückgängig machen
19.11.2008 10:38:00
Dagmar
Liebe VBA-Experten,
gibt es ein Programm in der Form:

Sub rückgängig()
Makro XY rückgängig machen
End Sub


Ich würde gerne komplette Makros wieder rückgängig machen, nachdem man sie hat laufen lassen. Hat hierzu jemand eine Idee/Lösung?
Vielen Dank bereits für Eure Mühe.
Dagmar

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro rückgängig machen
19.11.2008 10:44:20
Hajo_Zi
Hallo Dagmar,
das gibt es nicht. Du kannst die Datei nur vor dem Makro speichern und nach dem Makro ohne speichern schliessen.

AW: Makro rückgängig machen --> keine Chance!
19.11.2008 10:45:09
David
Das geht definitiv nicht. Wenn du dir vor einer Makroausführung nicht sicher bist, solltest du eine Kopie der Datei machen bzw. nur in einer Kopie arbeiten.
Gruß
David
AW: Makro rückgängig machen
19.11.2008 10:47:59
Hermann
Hallo Dagmar,
was spicht dagegen, die Datei vor dem Ändern durch das Makro als backup007.xls irgendwo zu speichern, und dann eben (bei Bedarf) diese Backup-Datei wieder zu öffnen.
Gruß Hermann
AW: Makro rückgängig machen
19.11.2008 11:27:00
Dagmar
Danke für die Infos. Das man ein Backup speichert bzw. nach dem Laufenlassen des Makros eben die Datei nicht speichert ist eine mögliche Lösung, die mir klar war. Aber man konnte ja mal fragen, ob einer vielleicht weiss, ob es einen Befehl gibt, der ein Makro explizit rückgängig macht...
Anzeige
Das geht aufwendig
19.11.2008 11:32:00
Reinhard
Hi Dagmar,
alle Änderungen die du mit dem makro durchführst mußt du dir merken, also alte Werte usw.
Schreibe mal in A1 was beliebiges hinein, dann starte A1Aendern, anchließend A1wiederherstellen...
Außer Sendkeys fiel mir nix besseres ein, deshalb Frage noch offen, hoffentlich weiß hier jmd. was eleganteres um "Rückgängig" per Vba durchführen zu lassen.
(Vielleicht ist dafür Application. Run besser)

Option Explicit
Public Merker
Sub A1Aendern()
Merker = Range("A1")
Range("A1") = "Huhu"
Application.OnUndo "A1 wiederherstellen", "Wiederherstellen"
End Sub
Sub A1Zurueck()
On Error Resume Next
'Application.Undo
Application.SendKeys "^z"
End Sub
Sub Wiederherstellen()
Range("A1") = Merker
End Sub


Gruß
Reinhard

Anzeige
Fazit: Egal wie - für's Rückgängigmachen...
20.11.2008 01:20:00
Luc:-?
...ist der Makro-Programmierer bzw -Anwender selbst verantwortlich, Dagmar.
Ersterer müsste diese Möglichkeit ebenfalls ins Pgm integrieren wie ja auch Reinhard angedeutet hat.
Anders ist es mit udFs (benutzerdefinierten Fktt), wenn diese direkt ins TabBlatt eingetragen wdn. Aber das ist trivial. Interessant wäre es, zu untersuchen, ob das auch für spezielle, von udFs auslösbare Operationen gilt - wahrscheinlich nicht. Zumindest immer dann, wenn eine (in diesem Falle über ein Event - nicht direkt aus der udF - aufgerufene) Subprozedur ins Spiel kommt, dürfte Schluss mit Undo sein.
Gruß Luc :-?
Anzeige
AW: Fazit: Egal wie - für's Rückgängigmachen...
21.11.2008 09:59:04
Reinhard
Hallo Luc, Dagmar,
Excel ist halt nicht Open Office Calc, dort scheint das zu klappen.
Z.B., dieses Makro schreibt in die aktive Zelle einen String, nach Makrodurchlauf kann man über Bearbeiten---Rückgängig wieder den alten Wert der Zelle herstellen lassen.

Sub tt
Dim oCell As Object
Dim oSheet As Object
oSheet = thisComponent.getSheets.getByName( "Tabelle1" )
oCell = ThisComponent.getCurrentSelection
ocell.string="huhu"
End Sub


Gruß
Reinhard

Aha! Dank für Info! Gruß owT
26.11.2008 15:49:00
Luc:-?
:-?

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)