一、使用Excel VBA批量提取表名到新表
打开VBA编辑器 按 `Alt + F11` 打开Excel的VBA编辑器,插入一个新模块(右键工程窗口→插入→模块)。
编写并运行宏
粘贴以下代码到模块中:
```vba
Sub 提取工作表名称()
Dim ws As Worksheet
Dim wsNew As Worksheet
Dim i As Integer
Set wsNew = ThisWorkbook.Worksheets.Add
wsNew.Name = "工作表名称汇总" ' 新建汇总表
i = 1
For Each ws In ThisWorkbook.Worksheets
If ws.Name <> wsNew.Name Then
wsNew.Cells(i, 1).Value = ws.Name
i = i + 1
End If
Next ws
MsgBox "所有工作表名称已提取到 " & wsNew.Name & " 工作表中!", vbInformation
End Sub
```
运行宏后,所有工作表名称将复制到名为“工作表名称汇总”的新表中。
二、使用Python的`openpyxl`库批量重命名
安装`openpyxl`
打开终端或命令提示符,运行:
```bash
pip install openpyxl
```
编写Python脚本
使用以下代码批量重命名工作表:
```python
import openpyxl
加载Excel文件
workbook = openpyxl.load_workbook('example.xlsx')
sheet_names = workbook.sheetnames
遍历并重命名
for i, sheet_name in enumerate(sheet_names, start=1):
new_name = f"数据表{i}"
workbook[sheet_name].title = new_name
print(f"已将 {sheet_name} 重命名为 {new_name}")
保存修改后的文件
workbook.save('example_重命名.xlsx')
```
运行脚本后,原工作表将按“数据表1”“数据表2”等顺序重命名,并保存为新文件。
三、手动复制(适用于少量工作表)
复制表名
在任意工作表中,按 `Ctrl + A` 全选名称,右键选择“复制”。
新建工作表,右键选择“粘贴”,在弹窗中选择“值”。
批量重命名
选中A列名称,右键选择“批量重命名”,按回车键自动填充。
注意事项
备份文件: 操作前建议备份原始文件,防止意外丢失。 权限问题
复杂场景:若需进一步处理(如过滤特定名称),可结合VBA条件判断或Python筛选功能。
以上方法可根据工作量选择自动化方案,处理大规模数据时效率提升显著。