仔仔文案网—你身边的文案专家

仔仔文案网—你身边的文案专家

表格怎么查找工作表名字

59

一、使用公式获取当前工作表名称

RIGHT函数法

在任意单元格输入以下公式:

```excel

=RIGHT(CELL("filename"), LEN(CELL("filename")) - FIND("]", CELL("filename"))))

```

按回车后,单元格将显示当前工作表的名称(位于文件名末尾)。 *注意:需先保存文件,否则公式可能失效。*

MID函数法

输入公式:

```excel

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

```

或者:

```excel

=MID(CELL("filename", $A$1), FIND(" [", CELL("filename", $A$1)) + 1, FIND(" ]", CELL("filename", $A$1)) - FIND(" [", CELL("filename", $A$1)) + 1)

```

这两个公式均返回当前工作表名称及完整路径,路径以"工作簿名[工作表名]"格式显示。

二、使用VBA宏批量获取所有工作表名称

简单输出到单元格

打开VBA编辑器(`Alt + F11`),插入新模块并输入:

```vba

Sub ListSheetNames()

Dim sht As Worksheet

Dim i As Integer

i = 1

For Each sht In ThisWorkbook.Sheets

Cells(i, 1).Value = sht.Name

i = i + 1

Next sht

End Sub

```

运行后,A列将显示所有工作表名称。

格式化输出

修改上述代码,在赋值后添加格式化操作:

```vba

Sub ListSheetNamesFormatted()

Dim sht As Worksheet

Dim i As Integer

i = 1

For Each sht In ThisWorkbook.Sheets

Cells(i, 1).Value = sht.Name

Cells(i, 1).Font.Bold = True

Cells(i, 1).HorizontalAlignment = xlCenter

Cells(i, 1).Font.Size = 14

i = i + 1

Next sht

End Sub

```

运行后,A列名称将加粗、居中显示。

三、其他实用方法

查找特定内容的工作表:

使用`VLOOKUP`或`INDEX`结合`MATCH`函数,例如:

```excel

=INDEX(Worksheets, MATCH("特定名称", Worksheets.Name, 0))

```

但此方法需知道目标名称在哪个工作表中。

以上方法可根据场景灵活选择:公式适合快速获取单个名称,VBA适合批量处理或自动化需求。