Should be straightforward answer...

  • Thread starter Thread starter Alex
  • Start date Start date
A

Alex

Hello

If I write VBA code, run the procedure, and then want to
undo what I have just done, how do I do that?

For example, suppose I run the following procedure which
places the value 10 in cell A1 of the activeworksheet.

Sub XYZ ()
Range("A1").Value = 10
End Sub

How can I undo that?

I feel there ought to be an obvious way...but I can't
find it.

Thanks for any thoughts...

Alex
 
Hi
the Excel build-in functionality dows not work for macros. So you have
to program this on your own within your macro.
 
Should be, but not so easy.
http://tinyurl.com/4pdzk
From a posting by Chip Pearson

Running a VBA procedure clears Excel's undo buffer, effectively
disabling the Undo feature. The closest you can get is to create
a procedure that undoes your primary procedure, and use
Application.OnUndo to put that procedure in the undo buffer.
E.g.,

Sub AAAA()
Application.OnUndo "Undo This", "UndoProc"
End Sub

Sub UndoProc()
MsgBox "Undo code here"
End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top