OT Zeilenlöschung durch Makro rückgängig machen
Die Sache hat aber auch einen Haken: Wenn das Makro ausgeführt
wurde, kannst Du nicht mehr auf rückgängig klicken. Das heißt,
wenn Du 'mal eine falsche Zeile gelöscht hast, dann ist die
auch gelöscht. Habe leider keine Ahnung, ob man das irgendwie
umgehen kann.
Hallo Carsten,
das kannst(eher mußt) du schon durch Vba. Sobald auch nur der kleinste Code läuft löscht Excel das was unter Bearbeiten–Rückgängig/Wiederholen steht.
D.h. diese Funktionalität mußt du selbst mit Vba erreichen.
Beispiel, ein Makro löscht immer die Zeile der aktuven Zelle.
Dann mußt du das Rückgängig machen per Vba „vorplanen“.
D.h. im Worksheet-SelectionChange muß entsprechender Code stehen der alle Infos der grad aktiv gewurden Zelle und deren Zeile speichert, also Zeilennummer, Werte, Formeln, Formatierungen usw.
Dann brauchst du noch ein Makro, was bei Aufruf diese gespeicherten daten wieder einfügt, also die gelöschte Zeile wieder erstellt, befüllt usw.
Starten kannst du dann das Makro direkt oder wie gewohnt über Vearbeiten Rückgängig.
Dazu muß im eigentlichen Löschmakro sowas stehen:
Beispiel zur OnUndo-Methode
In diesem Beispiel werden die Prozeduren zum Wiederholen und zum
Rückgängigmachen festgelegt.
Application.OnRepeat „Repeat VB Procedure“, _
„Book1.xls!My_Repeat_Sub“
Application.OnUndo „Undo VB Procedure“, _
„Book1.xls!My_Undo_Sub“
Liest sich ggfs. kompliziert, probiers einfach mal an einem kleinn Beispiel, z.B. ein Makro was nur A1 löscht und das dann wie beschrieben wieder herstellen.
Gruß
Reinhard