Excel:如何仅在当前文件中撤消?


97

Microsoft Excel的撤消/重做功能的行为不同于我所知道的任何其他程序。撤消堆栈似乎在所有打开的文件中都是全局的,因此撤消有时会切换到另一个文件并撤消您不想撤消的操作。而且,如果要撤消的编辑是在另一个文件中进行的编辑之前,则别无选择,只能撤消另一个文件。

我不是第一个对此抱怨的人- 快到一半了,请参阅“ Excel的撤消疯狂”

除了“一次只编辑一个文件”之外,还有没有办法使Excel的“撤消”仅适用于当前文件?

我正在使用Excel 2003(如果有所作为)。


1
请在下面查看我的评论。基本上,MS别无选择。MS仅由于跨工作簿引用而针对Excel执行此操作。他们在那种情况下保持公式关系完整性的唯一方法是维持单个撤消历史记录。此外,使其成为可选步骤非常复杂:用户如何选择是具有单个历史还是多个历史?用户何时选择呢?他们可以基于公式依赖关系使其自动完成,但是在逻辑上和性能上进行管理变得很容易。请记住,他们需要交付一种有效的产品。
TA先生

1
绝对是一个非常令人讨厌的功能,一旦您弄错了它就会忘记您要复制和粘贴的内容,这无济于事。
Adamantus '17

3
这仍然存在的事实Excel 2016使我想死。
GibralterTop'5

1
我无法通过按住ctrl-z并期望它使我返回到当前文档的初始状态来告诉我,我已经打开了多少个文件,但我发现自己只是花了无数的时间才完成工作最小化
Billynoah

1
@ Mr.TA即使可能难以实现,但我仍然认为Microsoft修改Excel的行为值得付出努力。天真的实现:每个工作簿中的一个标志,用于跟踪它是否包含对其他工作簿的任何外部引用。标志开始false。当引用另一个工作簿时,标志更改为true并保持该状态。对于带有标记的工作簿false(即在大多数情况下),撤消操作仅影响该工作簿。对于标记为的工作簿true,撤消将保留当前行为(跨工作簿)。
benrwb

Answers:


34

解决方法是打开多个Excel副本,每个工作表一个。这确实很烦人,但是没有其他方法。对于主电子表格,我有特殊的快捷方式,只是为了明确打开它们。去做这个:

  1. 创建新的快捷方式-右键点击桌面上的新建,快捷方式。
  2. 浏览到excel程序(“ C:\ Program Files(x86)\ Microsoft Office \ Office12 \ EXCEL.EXE”)
  3. 创建快捷方式并命名
  4. 编辑快捷方式,然后在程序后的快捷方式中将文件名加引号引起来。因此,您最终得到一个“目标”,例如:

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

遗憾的是,微软对于客户如何实际使用其产品真的一无所知。撤消疯狂是这种现象的一个标志-他们盲目地继续使用人类已知的最荒谬的撤消方法。它甚至与其他Office产品不一致。

另一个疯狂的地方是DDE系统-降低计算机速度的最佳方法-有时由于DDE的原因,启动之前甚至需要12秒。我一直在修复注册表设置以删除DDE垃圾,但是每次MS更新Office时,它们都会“修复”它们。

我曾在MS上工作,看到了他们的想法-不要浪费您的时间期望他们会改变-那是十年前的事,而今天他们仍然一样。


3
使用“ / X”标志强制Excel启动新进程可能会很有用。 stackoverflow.com/a/18291242/4689766您可以创建一个通用快捷方式并将其放在工作表上以这种方式打开它们,或者甚至可以编辑文件关联以添加此文件或使其成为默认行为。
GuitarPicker

3
请注意,这会破坏复制/粘贴...
Jens 2015年

6
@詹斯:FUUUUUUUUUUUUuuuuuuuuuuuuuuuuuuuuu
Devil's Advocate

27

2011年4月14日,在Microsoft Office for Developers论坛上讨论并回答了此问题。

Vershner发表的问题:

我最初将其发布在IT专业人员论坛上,但是他们告诉我将其发布在这里,因为该问题是设计使然。

当我在快速访问工具栏中单击“撤消”时,它将撤消Excel中的最后一个动作,而不是当前工作表中的最后一个动作。这没有用,所以我向功能区添加了撤消。

功能区应该适用于当前工作表,对吗?不会。它仍会撤消对另一张纸进行的最后操作。这是完全愚蠢的。如何在正在查看的工作表上执行撤消操作?我正在使用Excel 2010。

Bill Manville(Excel MVP)发布的已接受答案:

我已经向产品团队建议他们考虑将其用于下一个版本。

下面,我从相关页面提供有用的摘要:

  • 撤消在应用程序级别起作用,并且将撤消以相反顺序进行的操作中的更改。

  • 我敢肯定,当前版本的Excel的行为不会改变。但是,我将与产品团队一起提出有关将来版本的建议。问题是,有人会依赖当前的行为并发现它有用吗...?


22
被设计打破了吗?那真不幸。我仍然看不到M $的逻辑。+1的信息。
休·艾伦

6
我疯了关于这之前我发现这是由设计-但现在....
西蒙

5
MS仅由于跨工作簿引用而针对Excel执行此操作。他们在那种情况下保持公式关系完整性的唯一方法是维持单个撤消历史记录。此外,使其成为可选步骤非常复杂:用户如何选择是具有单个历史还是多个历史?用户何时选择呢?他们可以基于公式依赖关系使其自动完成,但是在逻辑上和性能上进行管理变得很容易。请记住,他们需要交付一种有效的产品。
TA先生2016年

4
@ Mr.TA:Libre / Apache Office在文件/工作表之间具有链接,它们确实在每个文件/工作表级别上撤消...只是说(如果您不是懒惰的人,那是可行的,完全可行的-显然,MS开发人员就是这种情况。
Erk

1
我可以在Word中创建跨文档链接,同时也可以在单个文档中撤消操作。显然可以做到。是的,链接可能会断开,但这是我的错。我会极大地喜欢上这个窗口跳撤消地狱这种行为。
JMD

7

Excel 2016之前的版本和某些更高版本:

如果您当前停留在混合的撤消历史记录中,则只能撤消当前文件-如果您愿意丢失其他打开文件的撤消历史记录。

只需关闭在Excel中打开的其他文件,并根据需要保存它们。这将清除其撤消历史记录的部分,仅在历史记录中保留当前文件的操作。然后,您可以撤消这些操作。

就是说,我建议您尝试将Excel作为另一个答案/评论中所述的独立进程运行。它不仅解决了愚蠢的混合撤消历史记录问题,而且还为您提供了完全独立的Excel窗口,每个文件一个(与一个Excel窗口相反,其中所有文件都作为其中的子窗口打开)。


3
这是不正确的。至少在Excel 2016中,关闭文件会完全擦除撤消历史记录。
TA先生2016年

1
@ Mr.TA我不知道有关Excel 2016年的测试和Excel 2010中的工作100%的罚款什么,所以你的公然“这是不正确”完全不必要。关闭文件时,只会从撤消历史记录中删除该特定文件的操作。其他文件中的操作仍保留在历史记录中。
ADTC

2
在2013年,您也可以关闭不想撤消的文件。
ScrappyDev '16

3
@ADTC:这不是我不想要的。我正在使用2016。现在我要定位我的哮喘喷剂...
Erk

2
截止到今天(应用了所有更新),这在Excel 2016中对我有效。也许他们已将其修复?
ijprest

0

如果要编辑具有两个分开的历史记录的两个现有XLSX文件,则有一个变通办法,它可以工作-很好,主要是...

您从其位置打开的第一个XLSX文件。对于第二个XLSX文件,首先从开始菜单中启动Excel 2016,然后通过第二个Excel窗口打开第二个XLSX文件。

确保通过任务管理器检查,有两个单独的Excel流程-如下面的屏幕快照所示。如果将两个文件A和B以某种方式仅在一个进程“ Microsoft Excel”下分组在一起,则关闭所有Excel进程,然后重试。

屏幕截图

Windows似乎为它的德语昵称感到骄傲:WinDOOF


1
如果您知道如何让Windows在两个或更多额外的过程中启动一个excel.exe文件的方法,请告诉我们如何!
gloschtla
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.