要提取当前工作表的名称,可以使用以下方法:
一、使用 `SHEETSNAME` 函数
基本语法
`=SHEETSNAME([参照区域], [结果方向], [工作表范围])`
参照区域(可选):指定包含工作表名称的单元格,直接输入单元格引用(如 `A1`)或省略以获取当前工作表名称。
结果方向(可选):0(默认)水平排列,1 垂直排列。
工作表范围(可选):0(默认)包含当前工作表,1 排除当前工作表。
操作步骤
在任意单元格输入公式,例如 `=SHEETSNAME(A1)`(当前工作表)或 `=SHEETSNAME()`(所有工作表)。
按下回车键后,名称将水平或垂直填充到相邻单元格中。
二、使用 `CELL` 函数
基本公式
`=RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND(" ",CELL("filename",A1))))`
该公式通过解析当前工作簿的完整路径,提取最后一个方括号后的名称。
操作步骤
在目标单元格输入公式(如 `=RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND(" ",CELL("filename",A1))))`)。
按下回车键后,向下拖动填充柄填充所有工作表名称。
三、使用 VBA 宏(适合大型工作簿)
代码示例
```vba
Sub ListSheetNames()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
MsgBox ws.Name
Next ws
End Sub
```
通过 VBA 可批量显示所有工作表名称。
四、注意事项
公式方法仅适用于提取当前工作表名称,需在目标单元格输入公式。
若需提取整个工作簿的所有工作表名称,建议使用 `=SHEETSNAME()` 或 VBA 宏,效率更高。
使用 `CELL` 函数时,结果可能包含完整路径(如 `Sheet1.xlsx`),需进一步处理去除路径部分。
以上方法可根据需求灵活选择,简单场景推荐使用 `SHEETSNAME` 函数,复杂场景建议结合 VBA 或编程工具。