用户
 找回密码
 立即注册
搜索
三人行 门户 电脑 软件教程 Excel教程 查看内容

如何把多个Excel工作簿合并成一个新的工作簿

2016-10-22 10:02| 发布者: fridayland| 查看: 11| 评论: 0

摘要: 因为工作需用我要把其它的多个excel表中的工作簿合并成一个新的工作簿,下面我来分享我的方法。 具体操作 1、将需要合并的excel工作簿文件放置在一个文件夹中。 每个文件夹中的工作簿都输入了简单的内容。 ...
因为工作需用我要把其它的多个excel表中的工作簿合并成一个新的工作簿,下面我来分享我的方法。

具体操作

1、将需要合并的excel工作簿文件放置在一个文件夹中。

每个文件夹中的工作簿都输入了简单的内容。

如何把多个Excel工作簿合并成一个新的工作簿

2、在该文件夹中,新建立一个新的excel工作簿文件。重命名为8.

如何把多个Excel工作簿合并成一个新的工作簿


3、打开新建立的excel工作簿文件8.按Alt+F11或者将鼠标移动到下方工作表名称sheet1上右键,选择查看代码。

如何把多个Excel工作簿合并成一个新的工作簿

4、在弹出的代码编辑窗口中,输入代码。注意:通过快捷键Alt+F11打开的窗口如下没有直接复制代码的面板,需要点击左上方的工程-VBA project模块,双击sheet1,即可打开代码窗口。而步骤3中的第二种方法可以直接打开代码输入窗口。

如何把多个Excel工作簿合并成一个新的工作簿 
5、在代码窗口中,黏贴下列代码:

 代码如下 复制代码

Sub CombineFiles()


  Dimpath           As String
   DimFileName       As String
   DimLastCell       As Range
   DimWkb            As Workbook
   DimWS             As Worksheet
   DimThisWB         As String
 
 
   Dim MyDir AsString
   MyDir =ThisWorkbook.path & ""
   'ChDriveLeft(MyDir, 1) 'find all the excel files
  'ChDir MyDir
   'Match =Dir$("")
  
   ThisWB =ThisWorkbook.Name
  Application.EnableEvents = False
  Application.ScreenUpdating = False
   path =MyDir
   FileName =Dir(path & "*.xls", vbNormal)
   Do UntilFileName = ""
      If FileName <> ThisWB Then
          Set Wkb = Workbooks.Open(FileName:=path & ""& FileName)
          For Each WS In Wkb.Worksheets
              Set LastCell = WS.Cells.SpecialCells(xlCellTypeLastCell)
              If LastCell.Value = "" And LastCell.Address = Range("$A$1").AddressThen
              Else
                  WS.Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
              End If
          Next WS
          Wkb.Close False
      End If
      FileName = Dir()
   Loop
  Application.EnableEvents = True
  Application.ScreenUpdating = True
  
   Set Wkb =Nothing
   Set LastCell= Nothing
End Sub


9、点击菜单栏运行-运行子过程-用户窗体。关闭代码输入窗口。打开excel工作簿8.可以看到下方已经多了很多新的工作表——此时,我们已经将之前的工作簿中的工作表都复制到了这一新建的工作簿中。

如何把多个Excel工作簿合并成一个新的工作簿

如何把多个Excel工作簿合并成一个新的工作簿


鲜花

握手

雷人

路过

鸡蛋

相关阅读