防止Excel在没有Office剪贴板的情况下在某些操作后清除复制的数据进行粘贴

Tib*_*org 48 clipboard microsoft-excel microsoft-excel-2010

每当您复制 Excel 中的一个单元格或一系列单元格(我的版本是 Windows 7 上的 2010),然后执行其他操作(例如插入新工作表行或简单地编辑另一个单元格)时,Excel 都会删除剪贴板数据。对我来说,这在我看来非常愚蠢而且非常令人沮丧(可能它背后有一些逻辑,比如保留引用或类似的东西,但我认为让它像任何其他程序一样工作并不是火箭科学复制粘贴可用)。

唯一的解决方法是使用 Office 剪贴板,但我不想(使用屏幕上的空间并且它比 CTRL+V 舒服得多)并且我认为我不应该被迫使用它。

这是对一些也抱怨这个问题的帖子的引用:

如何使 Excel 保留其剪贴板的内容

Excel 2010 从剪贴板中删除数据,我该如何停止它?

有什么方法可以强制 Excel 将我的数据保存到剪贴板中,直到决定不再需要它而不是它,而不使用烦人的(对我来说)Office 剪贴板?也许使用 Windows 剪贴板。

或者至少你可以向我解释为什么会发生这种情况(我知道这是正常行为,但为什么?)

Ray*_*ian 44

不幸的是,答案是否定的,您无法阻止这种情况的发生。

正如excel 的开发人员和项目经理Joel Spolsky所描述的:

官方原因是Excel没有真正的剪切和粘贴,它有移动和复制。这是必要的,因为 Excel 会自动修复引用。例如,如果单元格 A2 定义为 =A1,并且您将单元格 A1 移动到 A3,单元格 A2 将更新为 =A3。

如果 Excel 确实将内容剪切到剪贴板,则您需要以某种方式将引用指向 >into< 剪贴板,这很奇怪,并且没有合理的语法。换句话说,Excel 不希望在移动操作期间给您留下悬空引用,并且不相信在您通过选择“粘贴”完成移动时能够正确修复它们。

乔尔·斯波尔斯基 3/9/2004

来源

这意味着,由于 excel 维护引用的方式固有的困难,在开发时,没有好的方法将这些引用存储在 excel 之外并使它们保持动态以重新插入。一旦您更改焦点, excel 保留原始参考文献的能力就​​会丢失。

不幸的是,MS 并不认为这是一个错误。

  • 如果 Excel 没有剪切/复制和粘贴功能,则不应以该名称运行其他功能。它应该使用不同的名称来反映它正在执行不同的功能。 (4认同)
  • 事实上,在此更改之前,他们没有覆盖粘贴功能,这意味着他们可以做到这一点,但他们只是没有这样做。 (2认同)