Gruß Johannes
das ist normal! Die eRgebnisse, die von Makros erzeugt werden, können nicht
widerufen werden.
Wenn Du aber die Datei schließt ohne zu speichern, dann ist es auch ok.
Viele Grüße
Bernd
MVP für Microsoft Excel
Jetzt neu: VBA-Datenbank und "Excel-VBA in 21 Tagen"
unter http://www.held-office.de
"oesterlein" <oeste...@t-online.de> schrieb im Newsbeitrag
news:b0n06q$87a$05$1...@news.t-online.com...
Ich glaube, das geht überhaupt nicht.
Lasse mich aber gerne berichtigen!
MfG, Karl
"oesterlein" <oeste...@t-online.de> schrieb im Newsbeitrag
news:b0n06q$87a$05$1...@news.t-online.com...
oesterlein schrieb:
Da Makros die 'unmöglichsten' Dinge anstellen können, ist die Undo-Funktion
nach dem Ausführen eines Makros nicht aktiv.
Du kannst/musst eine Prozedur schreiben, die exakt das zurücksetzt, was Du
in deinem Makro 'angestellt' hast und dann mit der OnUndo-Methode dieses
Makro zur Verfügung stellen. Die Online-Hilfe im VBA-Editor gibt nähere
Auskunft darüber.
Hier ein kleines Beispiel; kopiere beide Makros in ein eigenes Modul:
Sub Zahlen()
Dim intI As Integer
ActiveSheet.Range("A1:B10") = 10
For intI = 1 To 10
ActiveSheet.Cells(intI, intI Mod 2 + 1).Interior.ColorIndex = 3
Next intI
Application.OnUndo "Makro Zahlen Rückgängig", "ZahlenRetour"
End Sub
Sub ZahlenRetour()
With ActiveSheet.Range("A1:B10")
.ClearContents
.Interior.ColorIndex = xlNone
End With
End Sub
Nach dem ausführen des Makros 'Zahlen' steht die 'Undo'-Funktion zur
Verfügung. Wenn Du auf den Dropdown-Pfeil des Und-Buttons klickst, steht
dort der Kommentar 'Makro Zahlen Rückgängig' drin.
--
Mit freundlichen Grüssen
Thomas Ramel
- MVP für Microsoft-Excel -
ich glaube Dein Ansatz hilft mir weiter:
da auch Zellen mit vorhandenen Inhalt überschrieben werden können, werde ich
diesen vorher an einer anderen Stelle kopieren und mit der OnUndo-Methode
zurückholen.
Vielen Dank!
"Thomas Ramel" <t.r...@mvps.org> schrieb im Newsbeitrag
news:3E2F8722...@mvps.org...
oesterlein schrieb:
>
> ich glaube Dein Ansatz hilft mir weiter:
> da auch Zellen mit vorhandenen Inhalt überschrieben werden können, werde ich
> diesen vorher an einer anderen Stelle kopieren und mit der OnUndo-Methode
> zurückholen.
Ja; gewisse 'Vorarbeit' muss eventuell schon im eigentlichen Makro
'geleistet werden. Aber da Du dieses ja selbst schreibst, sind alle
Möglichkeiten gegeben.