如何批量修改excel多个工作表的指定名称

如题所述

复制以下vb代码到vb编辑器中:
Sub mname()
'批量修改多个excel内指定的工作表的表名
Dim filename As String, twb As Workbook '定义变量
Application.ScreenUpdating = False '关闭屏幕更新
Application.DisplayAlerts = False '不显示需要确定删除的警告信息
filename = Dir(ThisWorkbook.Path & "\五座神山\" & "*.xlsx")
'获得五座神山文件下的所有工作表的名字
Do While filename > "" '若工作簿名字不为空,执行循环体;
fn = ThisWorkbook.Path & "\五座神山\" & filename '设置fn为路径;
Set twb = Workbooks.Open(fn) '打开五座神山文件下的工作簿;
twb.Worksheets(1).Name = "神山小百科" '修改第一个工作表的表名为“神山小百科”
twb.Close True '保存并关闭工作簿
filename = Dir '继续下一个工作簿
Loop
Application.DisplayAlerts = True '恢复提示警告信息
Application.DisplayAlerts = True '开启提示
End Sub

备注:可以变更的代码:
根据你表格的情况和位置,可以改动一下语句
更改五座神山,获得你工作簿的名称。
filename = Dir(ThisWorkbook.Path & "\五座神山" & "\*.xlsx")
更改五座神山,获得你工作簿的路径。
fn = ThisWorkbook.Path & "\五座神山\" & filename '设置fn为路径;
worksheets(1),即需要修改的表格,这里是第一个工作表;
可以根据你的模版和需要加入的位置更改为其他数字。
name等号后面是需要改变的名称
twb.Worksheets(1).name="神山小百科"
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-02-21
其实宏并不难,按ALT+F11,复制粘贴下面的代码,然后执行宏shtNameModify。
Sub
shtNameModify()
Dim
i
As
Integer
For
i
=
1
To
Sheets.Count
Sheets(i).Name
=
i
Next
i
End
Sub
相似回答