=CELL("filename") 不适用于同时打开多个 Excel 文件的情况

=CELL("filename") 不适用于同时打开多个 Excel 文件的情况

问题:如何获取当前文档的名称,以便在同时打开多个文档时不会中断?


我想写入当前 Excel 文档的文件名。=CELL("filename")只要我一次只打开一个 Excel 文档,就可以完成这项工作,如果我同时打开多个文档,它就会崩溃,并且一个文件会获取另一个文件的名称:

在此处输入图片描述

B2我写的中=CELL("filename"),我希望每个单元格都有自己的文件名称,但它们却都有相同的文件名!

复制

  • 打开两个 Excel 文档(保存它们)并=CELL("filename")在其中写入内容。它们都将引用同一个文件。

我正在使用 Windows 10 和此版本的 Excel: 在此处输入图片描述

答案1

CELL您只需进行少许添加即可使用:在每个电子表格中指定一个单元格。

因此,在每个函数中,只需使用以下方式编写函数:

=CELL("filename",A1)

其他版本(仅单个参数,"filename"而不是使用两个参数(包括您希望获取文件名的电子表格中的单元格,在上述情况下为“A1”)不能按预期工作的原因是,当不指定第二个参数时,Excel 默认为最后选定的单元格所在的电子表格。

通过在每个电子表格中指定一个单元格,您可以避免出现默认情况,并且 Excel 会愉快地告诉您公式所在文件的名称。无论您打开了多少个文件,也不管当前选定的单元格是什么/在哪里。

(只要在同一个电子表格中,提供公式的单元格并不重要。由于“A1”易于输入,因此只需使用它。)

答案2

CELL在没有指定目标的情况下使用该函数来获取所需信息("address"比如,或在本例中为)的技术"filename"可获取所选单元格的信息。

由于您不能同时在两个文件中选择一个单元格,因为从 Excel 的角度来看,“选定的单元格”是任何单个实例的打开文件中最后选择的单元格,因此您应该在所有这些函数用法中看到返回相同的值。

要查看您示例中的“每个文件都有函数返回其自己的名称”之类的内容,您需要打开两个完全独立的 Excel 实例。因此,不是“打开 Excel,打开一个文件,然后打开另一个文件”,而是“打开 Excel 和一个文件,然后启动一个完全独立的新 Excel 实例并打开第二个文件。”

由于您打开了两个完全独立的实例,因此每个实例都将对方视为某种外来事物,彼此之间没有任何共享。例如,在一个实例中打开两个文件,您可以将文件从一个文件复制到另一个文件,就像从一个工作表复制到另一个工作表一样。但在两个单独的实例中打开它们则无法实现。您可以复制和粘贴,但这就像从某个完全不同的程序(可能是记事本)粘贴一样。公式和格式不会粘贴,只有值之类的东西。

但需要重申的是,Excel 不会将第一个电子表格中最后选择的单元格视为其公式,也不会同时将第二个电子表格中最后选择的单元格视为第二个电子表格公式的单元格。它只会看到在其实例中打开的所有文件之间最后选择的单元格。

相关内容