How can I get Excel's undo/redo functionality to work in a more traditional *per window* manner (and not for the entire instance of Excel)?

Solution 1:

If you want separate undo/redo lists, open separate instances of Excel.

If you simply open multiple files by double-clicking, they're opened in the same Excel process and share the same undo/redo list. If you manually open multiple instances of Excel and then open your files in those instances, they don't share the undo/redo list.

For further details, you might want to check out:

  • How can I force Excel 2007 on Windows 7 to always open another instance of the application?
  • How do I force excel (and other office products) to stop opening files in the same application?

Solution 2:

Unless operating on Excel files in different sessions I think we are stuck with a single undo list.

Edit that may (and quite possibly may not) help to explain the issue:

In Sheet1 A1 enter 1.
In Sheet2 A1 enter =Sheet1!A1.
In Sheet2 B1 enter =A1+1.
In Sheet1 B1 enter =Sheet2!B1

Both sheets now look the same and the undo stack has:

Typing `=Sheet2!B1` in B1  
Typing `=A1+1` in B1  
Typing `=Sheet1!A1` in A1  
Typing `1` in A1

Separating this out into the two sheets:

Sheet1                         Sheet2  

Typing `=Sheet2!B1` in B1
                               Typing `=A1+1` in B1
                               Typing ` Sheet1!A1` in A1
Typing `1` in A1

Unwinding just the Sheet1 part of the history is equivalent to deleting the contents of Sheet1!A1:B1. Try that and the values in Sheet2 will change. So even a separate undo history for each sheet/workbook/window would not achieve ‘isolation’.

Excel may (quite sensibly, in my view) be assuming that there is some basis for having two workbooks/windows open in the same session – that there is reason to expect interaction between one and the other. If such interaction is not required there is always the option to open workbooks in a different session.

At all frequent use of different sessions (eg extended desktop) may soon illustrate some of the advantages of operating within a single session.