如何在单元格中显示当前工作表的名称?

ale*_*ale 14 microsoft-excel

我希望能够在该工作表的单元格中显示当前工作表的名称。

如何在不求助于 VBA 脚本的情况下做到这一点?

如果重要的话,我正在使用的 Excel 的特殊风格是 2007,但我更喜欢尽可能与版本无关的东西。

Dan*_*ane 19

=RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1),1))
Run Code Online (Sandbox Code Playgroud)

在此功能起作用之前,需要保存工作簿。

该函数的关键是=CELL("filename",A1),它返回一个方便的字符串,其中包括文件路径、文件名和工作表名称:C:\Users\john.smith\Desktop\[Test.xlsx]Sheet1

看:

  • 稍微短一点.....`=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,32)` (6认同)
  • 这对我有用:`=RIGHT(CELL("filename"),LEN(CELL("filename"))-SEARCH("]",CELL("filename")))` (2认同)
  • 您可以省略单元格引用,并且文件中是否只有一个 Cell() 函数也没有关系。但是,如果使用单元格功能在每张工作表上显示工作表名称,则需要 A1 引用,否则每张工作表将显示相同的值。显示哪个值取决于最后重新计算的公式。因此,将公式放在 Sheet1、Sheet2、Sheet3 中,而不引用 A1。当您重新计算 Sheet3 时,它将显示“Sheet3”。转到 Sheet1,它也会显示“Sheet3”。——可能不是你想要的。但是使用单元格引用,该公式将按预期工作。 (2认同)