来源:微信公众号表妹的EXCEL
上一期推送中,表妹分享了如何将多张工作表中的数据合并到一张工作表中的终极方法,不少小伙伴学习后纷纷留言表示:“那要是被合并的数据在不同工作薄中,又该怎么办呢?”。其实这个问题,表妹早就想到了。既然我们掌握了合并一张工作薄中不同工作表数据的方法,那么只要将多个工作薄合并成一个工作薄后,问题就可以迎刃而解了。所以今天表妹就向大家介绍两种最有效的工作薄合并方法,好学的你赶快收藏起来吧~~
~~~~~~工作薄合并的分割线~~~~~~
问题描述:
-------------------------------------
【方法一】移动或复制工作表(适用于工作薄较少的情况)
1.打开被合并工作薄(北方区域数据)和汇总工作薄;
2.全选被合并工作薄(北方区域数据)中的工作表;
3.建立副本,移动或复制到汇总工作薄中;
4.其他工作薄同方法移动复制。
-------------------------------------
【方法二】VBA代码(适用于工作薄较多的情况)
代码如下:
——————————————————
Sub CombineFiles()
Dim P As String
Dim FN As String
Dim LC As Range
Dim Wkb As Workbook
Dim WS As Worksheet
Dim TWB As String
Dim MyDir As String
MyDir = ThisWorkbook.path & "\"
TWB = ThisWorkbook.Name
Application.EnableEvents = False
Application.ScreenUpdating = False
P = MyDir
FN = Dir(P & "\*.xls", vbNormal)
Do Until FN = ""
If FN <> TWB Then
Set Wkb = Workbooks.Open(FileName:=P & "\" & FN)
For Each WS In Wkb.Worksheets
Set LC = WS.Cells.SpecialCells(xlCellTypeLastCell)
If LC.Value = "" And LC.Address = Range("$A$1").Address Then
Else
WS.Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
End If
Next WS
Wkb.Close False
End If
FN = Dir()
Loop
Application.EnableEvents = True
Application.ScreenUpdating = True
Set Wkb = Nothing
Set LC = Nothing
End Sub
——————————————————
-------------------------------------
以上两种方法各有各的利弊,小伙伴们在实际工作中可以结合自身的情况进行选择。掌握了这两种方法,合并工作薄就再也不是什么难题啦~~
~~~~~~工作薄合并的分割线~~~~~~
如果你觉得表妹的分享内容很实用,欢迎分享给其他小伙伴呦,独乐乐不如众乐乐嘛!
关注微信公众号“表妹的EXCEL”,每周一、三、五获取原创分享教程。加入“表妹的EXCELQQ群(345387282)”,和勤奋好学的小伙伴们一起快乐地学习EXCEL吧!