惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
H
Help Net Security
N
Netflix TechBlog - Medium
Apple Machine Learning Research
Apple Machine Learning Research
P
Proofpoint News Feed
A
About on SuperTechFans
V
V2EX
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
宝玉的分享
宝玉的分享
aimingoo的专栏
aimingoo的专栏
F
Fortinet All Blogs
博客园 - 【当耐特】
Microsoft Security Blog
Microsoft Security Blog
Martin Fowler
Martin Fowler
I
InfoQ
Google DeepMind News
Google DeepMind News
人人都是产品经理
人人都是产品经理
Engineering at Meta
Engineering at Meta
腾讯CDC
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
B
Blog RSS Feed
U
Unit 42
The Cloudflare Blog
Y
Y Combinator Blog

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
一日一技 | 避免 Excel 跨工作表撤消的临时方案 - 少数派
2024-03-04 · via 少数派

Matrix 首页推荐

Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。

文章代表作者个人观点,少数派仅对标题和排版略作修改。


一、遇到了问题

最近的工作需要管理一些台帐。这意味着我经常要同时打开若干个 Excel 表格,更新其中的内容。因此也就遇到了一个问题:当我按下 ⌘ + Z 撤消操作时,撤消的不是当前活动表格的上一步操作,而是所有打开表格的上一个操作。

如图所示,当我打开两张表格并分别操作时,在任何一张表格中的撤消列表(似乎叫「栈」比较合适)中,都按时间顺序包含了在两个表格中的全部操作,撤消是跨表格进行的。

更麻烦的地方在于,Excel 中可以撤消的操作,不仅仅是键入、修改、清除数据,如下图所示,Excel 还忠实地记录着包括缩放、自动换行、调整行高、筛选等操作。在日常工作中,许多本不涉及数据处理、仅仅是为了查看数据的操作也会留下能够撤消的记录。

于是,当我已经迷失在长得颇为相似、有着数十数百行内容的几张表格中时,注意到当前表格上次修改的内容可能有误,习惯性地轻点一个撤消,准备将一切恢复重来。突然,Excel 将我拉回到了一张陌生的表格前。原因仅仅是 6 分钟前为了看清这张表格里的某个内容,两根手指在触控屏上缩放了一下。于是,我在哪里、我本来要做什么的哲学思考,在心中炸开了。

从网上讨论(比如这里这里)来看,并不是只有我一个人遇到了这个问题。根据这个知乎回答,Excel 跨工作表撤消操作,这似乎是一个由来已久的设定,目的在于让各工作表「更方便地互相获取内存中正在编辑的数据」。翻找了我的 Excel 偏好设置,截止至目前,微软应该还没有提供将撤消功能限制于当前活动表格的选项。

天下苦微软久矣。

二、不完美的解决方案

(一)Windows 系统

在前面提到的这个回答中,已经提供了 Windows 系统下修改注册表的解决方案,这个方法与 Microsoft Learn 的这篇文章的相同。简而言之:

  • 关闭正在运行的 Excel 程序;
  • 运行(Win + R)注册表编辑器(regedit),找到 HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Excel\Options ,新建一个名为 DisableMergeInstance、值为 1 的 DWORD 键。

进行以上操作后,每次打开 Excel 应用程序,就会重新打开一个新的 Excel 实例(instance),各个实例之间不会共享撤消历史,只有同一个实例内的不同工作表才共享这些数据。

不过,既然目标是打开新的 Excel 实例,那么,其实也很容易找到不修改注册表、对其他应用程序也适用的方案:

  • 打开 Excel 程序;
  • 保持按住键盘上的 Alt 键,右键点击下方任务栏中的 Excel 图标,点击菜单中的 Excel 图标;
  • 等待提示窗口出现,询问是否启动新的 Excel 实例,点击「是」即可。
相比之下,这种方法显得更灵活一点。

需要注意的是,不管是哪种方式,都需要在分别打开的实例中再打开目标文件,在资源管理器中双击打开 Excel 表格文件时,是不会打开新 Excel 实例的。

(二)MacOS 系统

我日常工作使用的系统是 MacOS,以上方法对我并不适用。由于用户数比较少,我暂时也没有找到直接针对这个问题的解答。不过,从以上 Windows 的方案不难看出,解决方式是对于不同表格,分别打开 Excel 实例。

在此基础上,很容易找到这样一个 shell 命令「open」,参数「-n」即在应用程序已经运行的情况下,仍然打开一个新的实例。经测试发现,使用 open -n 不管是打开 Excel 程序,还是打开 Excel 表格文件,都能会打开新的实例,两个实例之间的撤消历史相互独立。

由于不可能每次打开都使用终端,很自然地想到自动操作。具体方式是:

  • 打开应用程序「自动操作(Automator)」,在弹出的新建窗口中选择「快速操作(Quick Action)」;
  • 在左侧的工具搜索「Shell」找到「运行 Shell 脚本(Run Shell Script)」并双击或将其拖至右侧窗口;
  • 在右侧窗口设置为收到「文件或文件夹(files or folders)」,位于「访达(Finder.app)」,下方传递输入修改为「作为自变量(as arguments)」,然后在下方自动生成的模板中,将 echo "$f" 这一行替换为 open -n "$f」;
  • 保存并命名,例如「新的实例」;
  • 打开访达,点击屏幕左上角的「访达(Finder)」,依次点击「服务(Services)」和「服务设置(Services Settings)」,在「文件或文件夹(files or folders)」中可以找到刚才保存的实例,点击右侧空白位置,可以为之分配快捷键。考虑到我平时打开文件使用的是 ⌘ + ↓ 的快捷键,这里我将快捷键设置为  ⇧ + ⌘ + ↓。

此后,对着需要打开的 Excel 表格文件使用上述快捷键,就可以在新的实例中打开表格。

这种方法不局限于 Excel ,其他应用程序也可以适用。对于其他应用程序而言,使用这种方法打开新实例,一个可能的意义是能够同时打开两个相同的文件。

PS. 我测试了一下,这种方法无法打开两个微信或腾讯会议,但目前可以打开两个飞书。

三、仍有问题

这并非完美的解决方案。不管是 Windows 还是 MacOS,以上方法都还存在许多问题,至少包括:

  • 打开多个实例显然会占用更多的内存;
  • 如前所述,Windows 系统下的两个方法,不适用于直接打开 Excel 表格文件,这增加了操作量;
  • 在 MacOS 中,打开多个实例时,Dock 栏中显示为多个应用程序(而在 Windows 中会层叠),这很丑;
  • 在 MacOS 中,关闭最后一个窗口时,Excel 不会自动退出(而在 Windows 中会自动退出),除非是使用 ⌘ + Q 直接退出该实例,这增加了操作量和误操作的可能性;
  • 对于不同实例的工作表,在相互引用时,用鼠标点击、框选自动填充内容的方式失效。并且,不会实时更新跨表格引用的数据,需要重新打开文件才能看到更新;
这是一个在同一实例中正常跨表格引用的例子。
  • 在不同实例之间选择性粘贴(⌃ + ⌘ + V)时,仿佛复制内容是来自非 Excel 表格一样,无法选择 Excel 表特有的粘贴选项。在选择作为「Microsoft Excel 工作表 对象」时,会显示无法粘贴的错误。
左图是在同一个实例中选择性粘贴,右图是在不同实例中选择性粘贴。
选择作为「Microsoft Excel 工作表 对象」时出现的错误提示。

考虑到微软设计时正确获取跨表格数据的初衷,用不同的实例打开不同的表格,也许还会产生别的问题。因此,比起上述临时方法,还是希望微软能够提供一个选项,让 Excel 即使在同一个实例中,也能够选择像 Word 一样,允许各个工作表独立地撤消操作。

> 下载少数派 客户端、关注 少数派小红书,感受精彩数字生活 🍃

> 实用、好用的 正版软件,少数派为你呈现 🚀