永发信息网

您好!如何批量重命名多个Excel文件的sheet?

答案:4  悬赏:70  手机版
解决时间 2021-02-18 08:51
我有数百个Excel文件,每个EXCEL文件里有一个sheet,但是sheet名各不相同。我想把每个EXCEL文件里的sheet都重命名为“sheet1”,请教该如何解决呢?
非常感谢~~
最佳答案
把 这上百个文件 放到一个文件夹里
新建一个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
全部回答
这个问题用批处理难以完成,用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>根据表的数量,需要的时间可能不同,请耐心等待结果!
工作表不可以重名的 但是你可以以数字命名 或者时间命名
宏命令 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
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
傻秀才云南过桥米线呼市NO.28地址有知道的么
极品飞车ol新区的sp能转区一区吗
他结束了南北朝时期的分裂局面,使中国又一次
马右坝在什么地方啊,我要过去处理事情
怎样在电脑桌面设置漂浮的字
和一个台湾男人确定恋爱关系,说要来大陆见家
任现职以来是什么意思
新时尚服饰广场石门分店怎么去啊,有知道地址
baldinini中文叫什么
"漫言红袖啼痕重,更有情痴抱恨长"是什么意思
thinkpad R61 我的显卡怎么是 主显卡 英特尔
日在校园TMD身心受不了,刹那咋会喜欢人渣城,
那家银行贷款快,手续简单
【5年级上册数学黄冈答案】五年级上册黄冈小
2017广州积分入户中可随迁的未成年子女年龄限
推荐资讯
十字绣里面这个诗怎么秀出来。还有下面那个富
过敏性紫癜大人会有吗
因为它象征着中国的传统文化英文
注册安全工程师注册怎么注册2016年
江西省财务会计学校 在全国学校的排名
伊国是哪个国家
企业进行内部研发活动所发生的费用,会计上应
魅族pR05ID吗能解吗?捡到一手机该怎样刷机
电脑管家里的路由器管理不去检测会有关系吗
请问谁有免费的台湾电影《不能说的夏天》
追加、溶度积是什么意思
和らげる日语是什么意思
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?