|
如何批量修改多个excel文件指定工作表的表名呢?
若有多个excel文件,即多个工作簿,你需要将每个excel文件中的一个指定的sheet工作表的表名进行修改,这个工作表所处的位置相同,即都是每个excel文件中第n个工作表,那么你是一个一个打开文件去修改sheet表名呢,还是想用便捷的方法呢?
工具/原料 excel2013 方法/步骤 1 需求实例化:
如图所示,需要将“五座神山”文件夹下的5个excel文件(工作中可能遇到N个文件)中的第一个表格“神山百科”更名为“神山小百科”
2 新建一个excel文件,excel2010版本以上的新建一个xlsm文件,可以支持宏命令运行;
这里我建立了一个vba.xlsm文件,与五座神山同一个文件夹下。
3 打开vba.xlsm,点开发工具---插入按钮,在空表处新建一个按钮,并更改名称为“批量修改表名”。
4 点开发工具---visual basic,或者操作快捷键ALT+F11,打开vba编辑器。
5 右键单击microsoft excel 对象,在弹出的对话框列表中选择插入--模块。
复制以下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
复制代码7 可以变更的代码:
根据你表格的情况和位置,可以改动一下语句
更改五座神山,获得你工作簿的名称。
filename = Dir(ThisWorkbook.Path & "\五座神山" & "\*.xlsx")
更改五座神山,获得你工作簿的路径。
fn = ThisWorkbook.Path & "\五座神山\" & filename '设置fn为路径;
worksheets(1),即需要修改的表格,这里是第一个工作表;
可以根据你的模版和需要加入的位置更改为其他数字。
name等号后面是需要改变的名称
twb.Worksheets(1).name="神山小百科"
关闭宏编辑器,将按钮和宏命令关联起来。
关联的方法见经验贴:
点击批量修改执行按钮,执行vb程序后,
打开所有的工作簿,可以看到,已经将“神山百科”工作表的表名更改为“神山小百科”了。
|
|