将多个excel文件中的同名sheet分别合并到总表

2022-04-16 社会 99阅读

这个只能用vba解决  你新建一个 excel文件 然后act+f11 弹出vba界面然后把一下代码复制到vba里面 然后运行

就可以了对于重名的工作表会自动重新命名

Subwen一键合并()

  '定义对话框变量

  DimfdAsFileDialog

  Setfd=Application.FileDialog(msoFileDialogFilePicker)

   

  '新建一个工作簿

  DimnewwbAsWorkbook

  Setnewwb=Workbooks.Add

   

  Withfd

    If.Show=-1Then

      '定义单个文件变量

      DimvrtSelectedItemAsVariant

       

      '定义循环变量

      DimiAsInteger

      i=1

       

      '开始文件检索

      ForEachvrtSelectedItemIn.SelectedItems

        '打开被合并工作簿

        DimtempwbAsWorkbook

        Settempwb=Workbooks.Open(vrtSelectedItem)

         

        '复制工作表

        tempwb.Worksheets(1).CopyBefore:=newwb.Worksheets(i)

         

        '把新工作簿的工作表名字改成被复制工作簿文件名,这儿应用于xls文件,即Excel97-2003的文件,如果是Excel2007,需要改成xlsx

        newwb.Worksheets(i).Name=VBA.Replace(tempwb.Name,".xls","")

         

        '关闭被合并工作簿

        tempwb.CloseSaveChanges:=False

         

        i=i+1

      NextvrtSelectedItem

    EndIf

  EndWith

   

  Setfd=Nothing

EndSub

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com