Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: 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

Anzeige

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
Anzeige
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

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

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige