xls多文件合并成多工作表

靖西网西网服务生 2022-04-07

多个独立的excel文件合并到一个excel文件的多个工作表Sheet中

步骤:

1、打开OFFice EXCEL

2、右键工作表--->查看代码

3、粘贴本VB代码,点击运行

4、弹出窗口选择要合并的所有文件

5、保存成新文件

  1. Sub Books2Sheets()
  2.     '定义对话框变量
  3.     Dim fd As FileDialog
  4.     Set fd = Application.FileDialog(msoFileDialogFilePicker)
  5.     
  6.     '新建一个工作簿
  7.     Dim newwb As Workbook
  8.     Set newwb = Workbooks.Add
  9.     
  10.     With fd
  11.         If .Show = -1 Then
  12.             '定义单个文件变量
  13.             Dim vrtSelectedItem As Variant
  14.             
  15.             '定义循环变量
  16.             Dim i As Integer
  17.             i = 1
  18.             
  19.             '开始文件检索
  20.             For Each vrtSelectedItem In .SelectedItems
  21.                 '打开被合并工作簿
  22.                 Dim tempwb As Workbook
  23.                 Set tempwb = Workbooks.Open(vrtSelectedItem)
  24.                 
  25.                 '复制工作表
  26.                 tempwb.Worksheets(1).Copy Before:=newwb.Worksheets(i)
  27.                 
  28.                 '把新工作簿的工作表名字改成被复制工作簿文件名,这儿应用于xls文件,即Excel97-2003的文件,如果是Excel2007,需要改成xlsx
  29.                 newwb.Worksheets(i).Name = VBA.Replace(tempwb.Name, ".xls", "")
  30.                 
  31.                 '关闭被合并工作簿
  32.                 tempwb.Close SaveChanges:=False
  33.                 
  34.                 i = i + 1
  35.             Next vrtSelectedItem
  36.         End If
  37.     End With
  38.     
  39.     Set fd = Nothing
  40. End Sub

浏览778377 / 回复1
举报内容
返回 [发帖] 发回复:评论……

+
提交评论