一、使用Excel公式读取当前工作表名称
基本公式
在任意单元格输入公式 `=CELL("filename",A1)`,结果将包含完整文件路径及当前工作表名称(如 `C:\Users\example.xlsx\Sheet1`)。
若仅需工作表名称,可结合 `MID` 和 `FIND` 函数提取:
```excel
=MID(CELL("filename",A1),FIND("]",CELL("filename"))+1,LEN(CELL("filename"))-FIND("]",CELL("filename")))
```
该公式适用于快速获取当前工作表名称,且可复制到其他单元格使用。
注意事项
公式返回的名称包含完整路径,若仅需名称部分,需通过上述方法截取;
若需获取其他工作表名称,需在公式中指定单元格引用(如 `CELL("filename",B2)`)。
二、使用VBA宏批量获取所有工作表名称
基础代码
按 `Alt + F11` 打开VBA编辑器,插入模块后输入:
```vba
Sub ListSheetNames()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
MsgBox ws.Name
Next ws
End Sub
```
运行后弹出对话框显示所有工作表名称。
批量输出到表格
修改代码将名称写入单元格:
```vba
Sub ListSheetNamesToTable()
Dim ws As Worksheet
Dim i As Integer
i = 1
For Each ws In ActiveWorkbook.Worksheets
Cells(i, 1).Value = ws.Name
i = i + 1
Next ws
End Sub
```
运行后A列将填充所有工作表名称。
三、使用Python库读取Excel文件名
若需处理多个文件,可使用Python库 `xlrd` 或 `openpyxl`:
使用 `xlrd` 获取工作表名称
```python
import xlrd
workbook = xlrd.open_workbook('example.xls')
sheet_names = workbook.sheet_names()
print(sheet_names)
```
适用于读取单个Excel文件中的所有工作表名称。
使用 `openpyxl` 获取工作表名称
```python
from openpyxl import load_workbook
workbook = load_workbook('example.xlsx')
sheet_names = workbook.sheetnames
print(sheet_names)
```
同样适用于处理单个文件,但需注意该库对`.xlsx`格式支持更优。
四、注意事项
公式方法仅适用于读取当前打开的Excel文件,无法直接获取其他文件名;
VBA代码需在Excel中运行,适合批量处理;
Python方法适合自动化脚本,但需额外安装库且仅限Python环境。
根据实际需求选择合适的方法,若需手动查看,建议使用文件资源管理器或Excel内置功能。