使用VBA可一键批量重命名Excel工作表:通过数组赋值、读取单元格内容、数字序列命名或添加前缀后缀,大幅提升多表管理效率。

如果您需要在Excel中对多个工作表进行重命名,手动操作将非常耗时。通过使用VBA(Visual Basic for Applications),您可以一键批量修改工作表名称,大幅提升效率。
本文运行环境:联想ThinkPad X1 Carbon,Windows 11。
一、使用数组指定新名称批量重命名
该方法适用于您已明确每个工作表对应的新名称的情况。通过定义一个包含新名称的数组,按顺序为每个工作表赋值。
1、按下 Alt + F11 打开VBA编辑器。
2、在左侧工程资源管理器中双击要操作的工作簿对象,粘贴以下代码:
Dim wsArray As Variant
Dim i As Integer
wsArray = Array("销售表", "库存表", "人员表", "汇总表")
For i = 0 To UBound(wsArray)
ThisWorkbook.Sheets(i + 1).Name = wsArray(i)
Next i
3、确保数组元素数量不超过实际工作表数量,避免出错。
二、根据单元格内容批量命名
此方法从指定工作表的某列单元格中读取名称,用于重命名其他工作表,便于动态控制名称来源。
1、在某个工作表(如“控制表”)的A列输入目标名称,例如A1到A4分别为“第一季度”、“第二季度”等。
2、在VBA编辑器中插入新模块,并输入以下代码:
Dim i As Integer
For i = 1 To 4
ThisWorkbook.Sheets(i).Name = ThisWorkbook.Sheets("控制表").Cells(i, 1).Value
Next i
3、如果目标工作表不存在或名称重复,程序会报错,需提前检查数据准确性。
三、按数字序列自动重命名
当需要将工作表统一命名为“表1”、“表2”等格式时,可使用循环结合字符串拼接实现自动化命名。
1、打开VBA编辑器并创建新模块。
2、输入以下代码:
Dim j As Integer
For j = 1 To ThisWorkbook.Sheets.Count
ThisWorkbook.Sheets(j).Name = "表" & j
Next j
3、运行前请确认当前工作簿中没有同名工作表,否则会触发运行时错误。
四、添加前缀或后缀批量修改名称
该方法用于在现有工作表名称基础上统一增加标识,适用于分类管理场景。
1、在VBA编辑器中编写如下代码:
Dim ws As Worksheet
For Each ws In ThisWorkbook.Sheets
ws.Name = "项目_" & ws.Name
Next ws
2、上述代码会在每个工作表名前添加“项目_”前缀。
3、若新名称导致重复或超出字符限制(超过31个字符),系统将提示错误。











