如何在 Excel 中获取工作表名称

17 Mar 2025 | 5 分钟阅读

在同一个工作簿中的不同工作表之间进行工作是很常见的。我们经常根据自己的需要重命名这些工作表。但是,如果我们想获取当前正在处理的工作表的名称,该怎么办?这是可行的吗?当然可以!您只需引用工作表名称和单元格地址,Excel 就会为您获取该相应工作表中的单元格数据。

现在的问题是,如何在 Excel 中获取工作表名称。虽然没有直接的公式可以获取工作表名称,但正如我们所知,我们可以自定义任何公式。在本教程中,我们将探索获取活动工作表名称的各种方法。

获取活动工作表名称的公式

Excel 中有一些日常的重要任务,Microsoft 没有提供内置函数,其中一项就是获取工作表名称。这个问题的第一种解决方案是通过组合多个函数来定制我们自己的公式。

要创建获取工作表名称的公式,我们将合并三个 Excel 函数,即 CELLS、FIND 和 MID。

=MID(CELL("filename"), FIND("]", CELL("filename"))+1,LEN(CELL("filename")))

您可以在任何您想要获取工作表名称的 Excel 工作表中输入上述公式。为了理解上述公式的概念,下面是公式的分步实现,您可以在工作表中使用该公式来获取工作表名称。

步骤 1:指定 CELL 函数

用“=”号开始公式。使用内置的 CELL 公式来返回完整路径、工作簿名称和活动工作表名称。

此函数将要求两个参数。在第一个参数中,指定要返回的信息类型(在本例中为“filename”),在第二个参数中,提及单元格地址。

公式用法:=CELL ("filename", A1)

上述公式将返回以下输出。

How to get sheet name in Excel

注意:除了上面的单元格引用 A1,您还可以引用第一个工作表中的其他单元格地址。它也将返回相同的工作表名称。

步骤 2:将上述函数与 FIND 合并

如上一个结果所示,工作表名称位于“]”括号之后。因此,我们将使用 FIND 函数来查找右括号的位置。

  • 我们将以等号开头,后跟 FIND。
  • 在其参数中,我们首先指定要查找的值,即“]”,然后我们将结合 CELL 函数来返回文件名,以便在其中查找字符的位置。
  • 接下来,我们将返回的位置加 1,以获取工作表名称的第一个字符的起始位置。

使用的公式:= FIND("]",CELL("filename"))+1

How to get sheet name in Excel

步骤 3:使用 MID 函数提取子字符串

最后一步是提取工作表名称。为了实现这一点,我们将使用 MID 函数,从字符串的中间开始。

  • 我们将再次使用等号开头,后跟 MID 函数。
  • 它将要求三个参数,在第一个参数中,它将要求指定要从中提取子字符串的文本。所以,在这里,我们将使用**步骤 1** 的公式。
  • 在第二个参数中,它将要求开始搜索的位置。在这里,我们将使用**步骤 2** 的公式。
  • 在第三个参数中,我们将指定要获取字符串的位置。我们将输入 131(因为这可能是工作表名称的最大长度)。

使用的公式:=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,131)

解释:上述公式将从位置 104 开始提取子字符串,并将提取所有字符直到位置 131。

How to get sheet name in Excel

上述公式将返回以下输出。

How to get sheet name in Excel

步骤 4. 获取另一个工作表的名称

要获取第二个工作表的名称,只需引用第二个工作表中的任何单元格。

使用的公式:=MID(CELL("filename",Sheet3!A1),FIND("]",CELL("filename",Sheet3!A1))+1,131)

How to get sheet name in Excel

使用 VBA 定义的用户自定义函数

在 Excel 中创建用户自定义函数是一件简单的事情。你们中的许多人可能会发现上述公式有点复杂,有时可能会导致错误或错误的输出。所以输入公式不是唯一的选择。您无需输入复杂的公式,而是可以使用 Excel VBA 编写一个简单的用户自定义代码来完成。

现在,我们将介绍创建用户自定义函数并如何在 Excel 工作表中实现此函数以在单元格中获取活动工作表名称的各种步骤。

为了理解上述公式的概念,下面是公式的分步实现,您可以在工作表中使用该公式来获取工作表名称。

  1. 第一步是**在 Excel 中启用“开发工具”选项卡**。您可以使用快捷键“Alt+T”,或者从 Excel 功能区选项卡转到“开发工具”选项卡 -> “Visual Basic”选项。
    How to get sheet name in Excel
    您可以选择任何一个选项,它将打开 Visual Basic 编辑器窗口。
  2. 接下来,为了开始编写代码,我们需要**在 Visual Basic 编辑器中插入一个模块**。因此,从菜单栏单击“插入”选项,然后在对话框窗口中单击“模块”。
    How to get sheet name in Excel
  3. 您将看到以下窗口。接下来,我们需要**编写代码**。将以下代码复制并粘贴到模块窗口中。

代码


How to get sheet name in Excel
  • 上述代码将成功创建一个函数,您可以使用该函数获取当前工作表的名称。
  • 之后,关闭 VBA 窗口,**返回到您想要获取名称的活动工作表**。
  • 选择您工作表中的任何单元格,然后与 Excel 内置函数不同,**键入用户自定义函数**。

使用的公式:=mysheetname()

How to get sheet name in Excel
  • 完成后**按 Enter 键**。Excel 将返回以下输出。
How to get sheet name in Excel

仅用三行代码,我们就完成了整个公式。这难道比上面的 MID 公式更简单、更易于访问吗?如果您不想处理复杂的公式,您还可以使用 VBA 来快速解决任何 Excel 问题,您只需要一点编码知识和一些实践。

注意:您可以在当前工作簿的任何工作表中使用此函数。此函数仅针对此工作簿进行了自定义,不适用于其他工作簿。

关于工作表名称的内容就是这些!去试试这两种方法。根据您的选择,在任何地方使用它们。