我有数百个Excel文件,每个EXCEL文件里有一个sheet,但是sheet名各不相同。我想把每个EXCEL文件里的sheet都重命名为“sheet1”,请教该如何解决呢?
非常感谢~~
您好!如何批量重命名多个Excel文件的sheet?
答案:4 悬赏:70 手机版
解决时间 2021-02-18 08:51
- 提问者网友:王者佥
- 2021-02-17 18:12
最佳答案
- 五星知识达人网友:想偏头吻你
- 2021-02-17 19:16
把 这上百个文件 放到一个文件夹里
新建一个Excel文件, Alt+F11 视图--代码窗口
如下代码复制进去, F5 运行
Sub 重命名()
t = Timer
Application.ScreenUpdating = False
p = ThisWorkbook.Path & "\"
s = Dir(p & "*.xls*")
Do While s <> ""
If s <> ThisWorkbook.Name Then
Set wk = Workbooks.Open(p & s)
wk.sheets(1).name ="Sheet1"
wk.Close True
End If
s = Dir
Loop
t1 = Timer - t
MsgBox ("所有工作薄处理完毕,用时" & t1 & "秒")
Application.ScreenUpdating = True
End Sub
新建一个Excel文件, Alt+F11 视图--代码窗口
如下代码复制进去, F5 运行
Sub 重命名()
t = Timer
Application.ScreenUpdating = False
p = ThisWorkbook.Path & "\"
s = Dir(p & "*.xls*")
Do While s <> ""
If s <> ThisWorkbook.Name Then
Set wk = Workbooks.Open(p & s)
wk.sheets(1).name ="Sheet1"
wk.Close True
End If
s = Dir
Loop
t1 = Timer - t
MsgBox ("所有工作薄处理完毕,用时" & t1 & "秒")
Application.ScreenUpdating = True
End Sub
全部回答
- 1楼网友:十年萤火照君眠
- 2021-02-17 22:15
这个问题用批处理难以完成,用vbs吧,将下面的代码复制保存为扩展名是“vbs”的文件,放到与要处理的excel文件同目录下运行即可得到名字为“总表.xls”的文件,这就是结果:<br><br>'═════代═══码═══开═══始═════<br>set fso=createobject("scripting.filesystemobject")<br>set ws=createobject("wscript.shell")<br>set oexcel=createobject("excel.application")<br>set oexcel2=createobject("excel.application")<br>name=fso.getfolder(".")&"\总表.xls":i=1<br>oexcel.workbooks.add<br>oexcel.activeworkbook.saveas(name)<br>oexcel.displayalerts = false<br>oexcel2.displayalerts = false<br>oexcel.visible=false<br>set fs=fso.getfolder(".").files<br>for each f in fs<br>ext=lcase(right(f.name,4))<br>if (ext=".xls" or ext="xlsx") and left(f.name,2)<>"~$" and f.path<>name then<br> oexcel2.workbooks.open(fso.getfolder(".")&"\"&f.name)<br> oexcel2.worksheets(1).rows(1).copy<br> oexcel.worksheets(1).paste(oexcel.worksheets(1).rows(i))<br> i=i+1<br> oexcel2.activeworkbook.close<br>end if<br>next<br>oexcel.activeworkbook.save<br>oexcel.activeworkbook.close<br>msgbox "处理完毕!"<br>'created by escortmnm from vbs团队<br>'═════代═══码═══结═══束═════<br><br>根据表的数量,需要的时间可能不同,请耐心等待结果!
- 2楼网友:患得患失的劫
- 2021-02-17 20:49
工作表不可以重名的
但是你可以以数字命名 或者时间命名
- 3楼网友:罪歌
- 2021-02-17 20:04
宏命令
Sub 文件批量()
Dim myfiles
Dim i As Long, path
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "请选择要查找的文件夹"
If .Show Then
path = .SelectedItems(1)
End If
End With
myfiles = Dir(path & "\*.xlsx")
On Error Resume Next
Application.ScreenUpdating = True
Application.DisplayAlerts = False
Do While myfiles <> ""
i = i + 1
Workbooks.Open Filename:=path & "\" & myfiles
'以下 可以在多个文件执行各种统一命令
'
For j = 1 To Sheets.Count
ActiveWorkbook.Sheets(j).Name = "表-" & j
Next
ActiveWorkbook.Save
ActiveWindow.Close
myfiles = Dir
Loop
End Sub
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯