快速合并文件(2)

该文是针对快速合并文件(1)方法不足的补充,应用的是VBA程序来解决的。补充不是完善的,欢迎补充~
合并多个xls、csv工作簿到同一个工作簿中,且保留原来各个工作表名称。以合并Excel文件为例。
 
1.将需要合并的Excel工作簿文件1、2、3放到一个文件夹中。
 
2.在该文件夹中新建一个Excel工作簿,取名为“合并结果.xls”
3.打开“合并结果.xls”,选择“开发工具”->“Visual Basic”

 
 
4.在打开的面板中,双击其中一个sheet,贴入下面代码即可。
Sub CombineFiles()
   Dim path           As String
   Dim FileName       As String
   Dim LastCell       As Range
   Dim Wkb            As Workbook
   Dim WS             As Worksheet
   Dim ThisWB         As String
 
 
   Dim MyDir As String
   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 Until FileName = ""
      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").Address Then
              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

  5.按F5便可运行程序了。结果如下:“过好年”便是工作簿1、2、3工作中的sheet名。返回到工作簿,可看到工作簿1、2、3里面的工作表都整理到“合并结果.xls”工作簿中了。

 

 
备注:合并csv格式文件也可用此方法。只要将代码中的xls改为csv。


 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值