Make Undo stacks track per workbook instead of globally
Undo stacks are currently global between all workbooks that are open at a given time, so pressing undo on one workbook might undo a change in a different workbook. As someone who frequently has multiple workbooks open at a time, it would be much more helpful to be able to step through the edits made on each individual workbook.
Thanks again for all the passion on this issue – we hear you and we’ll get someone on the team to dig in to the issue. I’ve seen a few related sub-issues while scanning over the comment section for this one, so we may reach out to a few of you for clarifications. Thanks again for all the votes, and keep them coming for the issues you care about!
Posting the 1st half now, so it is in order. Here. Sadly, that will make the halves come backwards in any emails...
Have a SINGLE INSTANCE of Excel open and IN IT create 3 files, A1.xlsx, etc. Make some clear entries, patterned for each one, like 1,1,1 and 2,2,2 and 3,3,3.
Try UNDO. That last 3 goes away, no matter which file you are in AND, unlike described following those links to different places after them, you go to that exact cell in that exact spreadsheet and see what went away. No "hidden" Undo's occur. Yay. BUT you were in A1.xlsx when you hit UNDO and wanted the last thing done there to be undone.
Of course, that did NOT happen and CAN'T happen which is why this Suggestion exists.
Those links are said to make the point that this is programmed in in such a way that it CANNOT be undone, reprogrammed, overridden... it is an aspect of MDI and flat cannot be done any other way. Those poor dears at MS have no physical way to override that behavior so this is an outcome. Choices? Well... no UNDO at all, of course, or SDI and then it never comes up to discuss so problem solved. Whew... no more dirty bathwater, problem solved... hey honey, where's the baby? He was here right before I threw out the dirty bathwater and now I can't find him... solved the dirty bathwater (UNDO) problem though.
In the links, a person mentions that closing one of the contributing files wipes out its contributions to the Undo stack, but leaves the rest. Yeah, that happens, both with the 2016 I have now and the 2010 I have still at home. Another person says no... yeah it wipes out that file's contributions, but only by wiping out the entire stack, all gone, not just some. His point would seem to be the "nothing at all can be done with it in an MDI world." But he is wrong, and so is his point, and also that of anyone else saying so.
You have the above work. Close any of the files, the one with the last changes (so hitting UNDO would have Undone something in IT), saving or not saving first. Try UNDO. It doesn't open that file up and Undo that last thing. Even if you saved it with the changes so that it had something to undo. That file and its contributions to the Undo stack are GONE. Open it, make changes, save and close it, try Undo (it acts on the other files since that one is gone). Well... open it back up. Now:
1) When you closed it, the Undo stack KEPT its contributions until the Excel instance would be closed and now that you have opened it back up it will Undo things exactly as if you never closed it because it can't do anything else.
2) When you closed it, its contributions from the stack were removed. Gone. Never to return. Or at least marked to be permanently ignored. So opening it back up can't reactivate its contributions. They don't exist anymore.
Posting the 2nd half first so it appears after the 1st half, I hope. (It seems I write too many characters sometimes.)
If it is 1), nasty things will happen. Saved material will be subject to being undone. That might be the least of it. Making that impossible might have been the whole point of your saving, closing, and reopening. Nasty, nasty, nasty, on a whole new level from what we have now. But it doesn't happen, not at all. Those things are actually gone, so it is 2), above.
Alrighty... if the actions are removable then they are ignorable. In other words, if in the MDI world, Excel can now ignore the fact of those actions being in the Undo stack and make no use of them, only acting on the items the never closed files contributed (easy to ignore something that doesn't exist any longer, right?), then it can certainly ignore them for other reasons.
YES... for sure there might be reasons you would not want to and the program's guiding lights might have gone with the "hard choice" and made the Undo stack the monster it is today. Sure. Maybe. I know none of us would agree that that is so: about "reasons" and hard choices that is.
However, no matter what they or anyone else says, that is all a lie. It is a lie because it has been said (mainly to avoid the work, I guess) for 25 years now, since computer generally had enough power and a worthwhile Windows version (3+) to do menaingful work on more than one file at a time.So while an off-the-cuff, first time I thought of it remark might be "wrong", going on with it, stubbornly, for 25 years makes it a lie about a month or so into the 25 years.
If the stack can keep track of the spreadsheet the contribution came from (and it can or change cell A3 in A3.xlsx, switch to A1.xlsx and hit UNDO and you would see A3 Undo all right... A3 in spreadsheet A1.xlsx, not in A3.xlsx... it would act relatively because it did NOT know which spreadsheet put that act into the Undo stack... which is clearly and absolutely NOT the case!), then a trivial amount of code can look at a setting you have chosen and decide whether to ignore all contributions from the other spreadsheets and on UNDO in the one you have up (or not, if you set the setting the other way).
Yes, that could seem to lead to issues, but not really since it would be Excel-wide, not spreadsheet by spreadsheet that one made that choice. The other aspect for trouble would be "tree-ing", akin to forward and back in web browsers, and having to deal with the situation in which you have ten things in the history, go back 3 to the 7th, then click something new and it becomes the new #8 while the old #8, #9, and #10 are permanently lost. Same idea.
So NO, FLAT NO, this is NOT NOT NOT a physical impossibility. It just ISN'T. If I can see that, for G*d's sake so can 3,000,000 programmers. And their managers and strategic guiding hands. This CAN be done, and with the same trivial code college kids use to write browsers for a grade one week in some semester's class. It literally is not rocket science. It's TRIVIAL. Period.
NOT doing it is a choice, not a physical law of the universe. A choice. A bad one.
This problem is known for over 15 years, but Microsoft does not care: https://answers.microsoft.com/en-us/msoffice/forum/all/the-undo-button-un-does-a-different-workbook-than/83829bc9-0911-4302-a039-02f3fd1b2544
This old MS Office problem stems from senseless grouping of opened files into one common excel/word process. Check the Task Manager, and open one excel file after another, and then watch what I describe.
I urge Microsoft to finally fix that ancient bug! Here you find detailed descriptions of this bug: https://superuser.com/questions/293044/excel-how-to-undo-in-current-file-only
SEUMAS MACLAREN commented
We need a Workbook-based undo buffer, as we have said, WITH the ability to purge the undo buffer manually, or on a manual save (just like the Accept All Changes and Stop Tracking removes all previous change memory items in Word).
SEUMAS MACLAREN commented
Is there anything new about this issue which was first raised over 6 years ago on other threads? This is a HUGE productivity issue and MUST be prevented from any further drift NOW please. This is a QUALITY issue and relates directly to being able to track version control in Excel - enabling quality controls within a task or a design. We simply have to get it changed. Please. Please STOP adding minor usability innovations like auto-save and concentrate on what matters to power users who pay a lot of money monthly for upgrades that we have no control over. We need proper engineering to address this most fundamental issue. Not bells and whistles.
Most power-users work within multiple workbooks, just as they do with Word, or other apps. Why is Excel deficient: I shall tell you why: There is a lack of standardization and so lack of common architecture for Office applications and things have been allowed to drift at Microsoft. Get it sorted please.
HACK TO COPY BETWEEN INSTANCES AND RETAIN FORMULAS: Find and Replace the "=" with something that appears no where in your workbook eg one of the alt + num pad hard characters. I usually use one of the Greek characters Alt+num pad 234 Ω. Copy paste your sheet or range. Find and replace the Greek character with "=".
Please fix this. I managed to kill a worksheet recently because undo is not by document vs global. I knew that this was a glitch in Excel...too many things going at the same time a mistake was bound to happen, but it should not be this way!
Really, you have us trained to undo by document in Word and Powerpoint, how difficult was it to do the same in Excel? I would much rather lose the functionality of having 2 documents in separate windows and still have undo work correctly.
Rabea Meyberg commented
Is there anything new about this issue? Seperated instances are no option! I would he glad to have at least the option to choose my undo-parameters as it was suggested below. But as other users also said, I do not see a reason, why a global undo would make any sense.
Agree that separate instances are not the answer, as they also do not allow creating formulas with links to tables in different worksheets. The headache...
Sorry for repeating this, but unfortunately, opening multiple instances is NOT a general solution: copy and paste between these instances does not work properly as formulas are replaced by values.
Gary Williams commented
On the other hand, mhill, if you expect nothing, you'll get nothing. I agree that opening separate instances of Excel for each workbook 'solves' the undo track issue. However, copying between instances then becomes the nagging problem. Of the two, undo frustrations are the lesser evil.
For your own sanity, presume that the answer is "Never!" Learn to open a separate instance of Excel for each workbook. Practice it; use it every day; train your fingers so it becomes automatic muscle memory. The various ways of doing it are explained throughout this thread. (Or you might switch to LibreOffice.)
As far as getting Microsoft to care about this, you might try getting all your friends to visit this wishing well: cast a vote for this issue, throw in their two cents, and make a wish. But the age if this thread should demonstrate why no one should get their hopes up. If you expect nothing, you won't be disappointed.
Robert Powell commented
Please please please - make it go back to undo on a sheet - this is a horrific bug - It has caused me some real inconvenience - there is no logic to having this as a global undo
R. J. Smith commented
I'd really love to see per-workbook undo stacks. At least make it a configurable option. Thanks!
Guys, I'm done arguing the point with the following last bit:
No. And further, I have two instances showing up in Task Manager and Ending one's process leaves the other open and happy.
That is from opening them by opening files from Explorer one at a time. One istance opens, then the second. And third. I did the screen capture after Ending it so it doesn't show there.
Normal file opening techniques yet separate instances like when you forced them for years if you had to make Undo not a problem. NOT NOT NOT opening normally and creating separate windows but really being one instance.
And no related Undo stacks.
Well, I guess I don't see how to add a file to the comment, so no screenshot.
Yes, exactly... IF you have a single instance of Excel open. For instance, I can open Excel, then open a second file in that instance with File|Open. Those two files will behave precisely as you relate.
However, if I open an instance of Excel, and a file in it, then open a new instance of Excel (using Ctrl-Click for example, in the wonderful version I used to have that supported MDI), and open a file in it, the two files I have open are UTTERLY separate when it comes to the Undo function.
This has been the case for a very long time, and for those of us who had to edit a couple spreadsheets at the same time (editing one, say, and the boss calls and wants you to edit a second one right then), we would open a second instance, on purpose, with Ctrl-Click. And the two would be safe from each other.
The problem happens when Excel releases versions that do NOT support MDI, they are SDI only, out of the box. Then the Undo stacks are separate, by default. Hey! This problem is solved! No more whiners like me!
People claim it was meant to solve some esoteric problem that I've never seen or heard of involving two or more monitors. Maybe. But I have plain vanilla equipment and never saw any problem yanking maximized Excel windows from monitor to monitor or even extending the workspace over both, so I don't buy it as a big enough problem to need solved over MY back.
And htough I meant the below comment about them doing it to solve this problem as a bitter, bitter, joke, the longer I think about it, the more it seems like they meant it to "solve" this problem.
Rememmber, if the second instance you open does not have a problem with your Personal spreadsheet already being open, then it is simply a new window for the first instance, not a separate instance like we see.(Or you don't have a Personal workbook. Lol. there's that possibility.) Open something, then open (Ctrl-Click) a second instance, see the warning about the Personal spreadsheet being in use already, then open a new something there. Then check the Undo function like I mentioned.(Maybe the mention is in the MDI suggestion.) You'll see what I mean.
Ed Hansberry commented
Roy - I understand if you have two instances of Excel open then they will have separate undo stacks. But the transition from MDI to SDI did not change the fundamental way Excel works. Open 5 workbooks in Office 365, Excel 2016, or Excel 2019, and you only have one copy of Excel.exe running, unless you specifically caused a 2nd instance to launch (Alt-Click Excel icon).
The undo command still functions across multiple workbooks, not within each workbook. I have two Excel workbooks open right now, and hitting undo in one workbook causes it to switch to a different workbook.
Please change it! Thanks in advance.
"Anonymous" posted the Support link I could not remember:
(posted it after my comment in the MDI suggestion:
Adding my comment, because he was doing more than giving us the exact link:
"Yep, that's the one.
In the Support article it implies/makes clear that if the entry does NOT exist, you have MDI. MAYBE that is the case in a version that has MDI for a default. Hoever, my Excel 16 has SDI as a default and I was strictly limited to File|Open or everything created a new instance. After creating the entry and giving it the value of zero, rather than no entry at all, I got some capabilities back, for instance, being able to drag a file from Explorer onto the instance of Excel and it would open in that instance where before creating the entry, it would open its own instance.
So take the "no entry at all is the same thing" that they either say or imply with several grains of salt."
tl;dr? Make the entry even though it implues (or states) you don't need to. The instance above that I mention as probably when no entry is fine will NOT be the case for anyone suffering from the SDI issue so make the entry.