92

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.

  • 1
    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 '16 at 15:48
  • @Mr.TA that is interesting; perhaps you should make it an answer. – Hugh Allen Apr 20 '16 at 2:06
  • Definitely a really irritating feature, it doesn't help that once you get it wrong it forgets what you were trying to copy and paste. – Adamantus Feb 8 '17 at 13:01
  • 1
    The fact this is still present in Excel 2016 makes me want to die. – GibralterTop May 4 '17 at 12:52
  • 1
    can't tell you how many times I have botched a file I forgot was open by holding down ctrl-z and expecting it to return me to initial state of the current document - only to discover I just undid hours of work on something that was minimized – billynoah Jan 4 '18 at 2:51
31

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.

  • 3
    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
  • 3
    Note that this breaks copy/paste... – Jens Dec 4 '15 at 8:40
  • 6
    @Jens: FUUUUUUUUUUUUuuuuuuuuuuuuuuuuuuuuu – Scott Beeson Mar 7 '16 at 17:36
26

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...?

  • 18
    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
  • 6
    I was mad about this BEFORE I found out it was by design - but now.... – Simon Feb 10 '14 at 22:49
  • 5
    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 '16 at 15:47
  • 4
    @Mr.TA: Libre/Apache Office has links between files/sheets and they do undo on a per file/sheet level... just saying (that it is doable, totally doable, if you're not a lazy ass -- which apparently seems to be the case with MS developers). – Erk Feb 7 '17 at 16:13
  • 1
    I can create cross-document links in Word, while also undoing in a single document. Clearly it can be done. Yes, the link may get broken, but that's my fault. I would greatly prefer that behaviour over this window-jumping undo-hell. – JMD Jan 19 '18 at 0:49
7

Prior to Excel 2016:

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).

  • 3
    This is incorrect. At least in Excel 2016, closing a file completely wipes undo history. – Mr. TA Apr 19 '16 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 '16 at 9:37
  • 1
    Closing the files you don't want to undo works in 2013 as well. – ScrappyDev May 3 '16 at 16:38
  • 3
    @ADTC: it's not uncalled for to me. I'm using 2016. And now I'm going to locate my asthma spray... – Erk Feb 7 '17 at 16:19
  • 1
    As of today (with all updates applied) this is working for me in Excel 2016. Perhaps they fixed it? – ijprest Sep 25 '17 at 7:48
0

If you want to edit two existing XLSX files with two separated histories, there is a work-around, which works - well, mostly...

The first XLSX file you open from its location. For the second XLSX file, you first start Excel 2016 from the start menu, and then you open the second XLSX file through this second Excel window.

Be sure to check through the Task Manager, that there are two separate Excel processes - as you can see it in the screenshot below. If somehow the two files A and B are grouped together under only one process "Microsoft Excel" ..then close all Excel processes and try again.

screenshot

Windows seems to be proud of its German nick name: WinDOOF

  • 1
    If you know a method how to let Windows start one excel.exe file in two or more extra processes, please tell us how! – gloschtla Feb 13 at 19:11

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 (the association bonus does not count).

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.