Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Microsoft Excel's undo / redo feature behaves unlike any other program I know. The undo stack seems to be global across all open files, so that undoing sometimes switches to another file and undoes something you didn't want to undo. And if an edit you want to undo was before an edit in another file, you have no choice but to undo the other file.

I am not the first to complain about this - see "Excel's undo madness", about halfway down.

Besides "edit only one file at a time", is there a way to make Excel's Undo apply to the current file only?

I'm using Excel 2003 if it makes a difference.

share|improve this question
    
Please see my comment below. Basically MS has no choice. MS does this for Excel only due to cross-workbook references. The only way they can maintain integrity of formula relationships in that context is to maintain a single undo history. Further, to make it optional is extremely complicated: how does a user choose whether to have a single history or multiple histories? When would a user choose that? They could make it automatic basing on formula dependencies, but that can easily become impossible to manage logically and performance wise. Remember, they need to deliver a product that WORKS. – Mr. TA Apr 19 at 15:48
    
@Mr.TA that is interesting; perhaps you should make it an answer. – Hugh Allen Apr 20 at 2:06

This issue was discussed and answered on Microsoft Office for Developers Forums on April 14, 2011.

Question posted by Vershner:

I originally posted this in the IT Professionals forum but they told me to post it here because the issue was by design.

When I click undo in the quick access toolbar it undoes the last action in Excel, not the last action in the current worksheet. This is not useful, so I added an undo to the ribbon.

The ribbon is supposed to apply to the current sheet right? No. It still undoes the last action on a different sheet. This is completely stupid. How do I make it undo actions on the sheet I am viewing? I'm using Excel 2010.

Accepted answer posted by Bill Manville (Excel MVP):

I have made the suggestion to the product team that they consider it for the next version.

Below I am giving the useful snippets from the relevant page:

  • Undo works at Application level and will undo changes in the reverse order actions were made.

  • The behaviour of current versions of Excel will not be changed, I am pretty sure. But I will raise the suggestion with the product team for a future version. The question will be does anyone rely on the current behaviour and find it useful...?

share|improve this answer
9  
Broken by design? That's unfortunate. I still can't see M$'s logic. +1 for the info. – Hugh Allen Jun 6 '11 at 9:46
3  
I was mad about this BEFORE I found out it was by design - but now.... – Simon Feb 10 '14 at 22:49
1  
MS does this for Excel only due to cross-workbook references. The only way they can maintain integrity of formula relationships in that context is to maintain a single undo history. Further, to make it optional is extremely complicated: how does a user choose whether to have a single history or multiple histories? When would a user choose that? They could make it automatic basing on formula dependencies, but that can easily become impossible to manage logically and performance wise. Remember, they need to deliver a product that WORKS. – Mr. TA Apr 19 at 15:47

The way 'around' it is to open multiple copies of Excel, one per worksheet. This is really annoying, but there is no other way. I have special shortcuts for my main spreadsheets, just to open them explicitly. To do this:

  1. Make a NEW shortcut - right-click on your desktop, New, Short cut.
  2. Browse to the excel program ( "C:\Program Files (x86)\Microsoft Office\Office12\EXCEL.EXE" )
  3. Create the shortcut and name it
  4. Edit the shortcut, and put the filename, in quotes, after the program, in the shortcut. So you end up with a 'Target' such as:

"C:\Program Files (x86)\Microsoft Office\Office12\EXCEL.EXE" "C:\Noiselezz\financial\shared financial\Sales Sheet.xlsb"

Sadly Microsoft really have little clue about how customers actually use their products. The Undo madness is one sign of this - they blindly continue with the most ridiculous method of undo known to humankind. Its not even consistent with other Office products.

Another madness is the DDE system - the best way to slow down a computer - sometimes it takes 12 seconds before the launch even starts, because of DDE. I keep on fixing the registry settings to remove the DDE rubbish, but every time MS update Office, they helpfully 'fix' them.

I have worked in MS, and seen how they think - don't waste your time expecting them to change - that was 10 years ago and they are the same today.

share|improve this answer
1  
It might be useful to use the "/X" flag to force Excel to start a new process. stackoverflow.com/a/18291242/4689766 You could make a generic shortcut and drop worksheets on it to open them this way, or you could even go as far as to edit the file associations to add this or make it the default behavior. – GuitarPicker Sep 17 '15 at 15:46
2  
Note that this breaks copy/paste... – Jens Dec 4 '15 at 8:40
    
@Jens: FUUUUUUUUUUUUuuuuuuuuuuuuuuuuuuuuu – Devil's Advocate Mar 7 at 17:36

If you are currently stuck with a mixed undo history, you can undo on current file only - provided you are willing to lose undo history of other open files.

Simply close other files that are open in Excel, saving them as necessary. This will clear their parts of the undo history, leaving only the actions for the current file in the history. Then you can undo these actions.

That said, I would suggest trying to run Excel as separate processes as described in another answer/comment. Not only does it take care of the stupid mixed undo history problem, it gives you totally separate Excel windows, one per each file (as opposed to one Excel window with all files open as sub-windows inside it).

share|improve this answer
    
This is incorrect. At least in Excel 2016, closing a file completely wipes undo history. – Mr. TA Apr 19 at 15:39
1  
@Mr.TA I don't know anything about Excel 2016. Tested and working 100% fine in Excel 2010, so your blatant "This is incorrect" was totally uncalled for. When you close a file, only that particular file's actions are removed from the undo history. Actions from other files remain in the history. – ADTC Apr 22 at 9:37
1  
Closing the files you don't want to undo works in 2013 as well. – ScrappyDev May 3 at 16:38

protected by Mehper C. Palavuzlar Dec 3 '11 at 10:51

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.