发布时间:2024-01-24阅读(10)
工作中,多个工作簿的数据合并至一个工作溥中是最痛苦的,使用复制粘贴太耗费时间,还容易出错
今天教大家3个方法,轻松解决合并工作簿的问题
1、csv文件,使用bat代码法这种方法是有限制的,必须是csv格式的Excel文件,很多公司软件里面导出的格式是这种的CSV格式的就可以使用此方法
合并的这个CSV文件就把所有单个的汇聚在一块,如果首行都有标题行,可以进行筛选删除再处理。
上面的方法是对于csv格式的文件才能使用的,如果是普通的xls或xlsx格式的话,就不适用了,这个时候,可以使用VBA代码法
其中的代码如下:
Sub 合并目录所有工作簿全部工作表()Dim MP, MN, AW, Wbn, wnDim Wb As WorkbookDim i, a, b, d, c, eApplication.ScreenUpdating = FalseMP = ActiveWorkbook.PathMN = Dir(MP & "" & "*.xls")AW = ActiveWorkbook.NameNum = 0e = 1Do While MN <> ""If MN <> AW ThenSet Wb = Workbooks.Open(MP & "" & MN)a = a 1With Workbooks(1).ActiveSheetFor i = 1 To Sheets.CountIf Sheets(i).Range("a1") <> "" ThenWb.Sheets(i).Range("a1").Resize(1, Sheets(i).UsedRange.Columns.Count).Copy .Cells(1, 1)d = Wb.Sheets(i).UsedRange.Columns.Countc = Wb.Sheets(i).UsedRange.Rows.Count - 1wn = Wb.Sheets(i).Name.Cells(1, d 1) = "表名".Cells(e 1, d 1).Resize(c, 1) = MN & wne = e cWb.Sheets(i).Range("a2").Resize(c, d).Copy .Cells(.Range("a1048576").End(xlUp).Row 1, 1)End IfNextWbn = Wbn & Chr(13) & Wb.NameWb.Close FalseEnd WithEnd IfMN = DirLoopRange("a1").SelectApplication.ScreenUpdating = TrueMsgBox "共合并了" & a & "个工作薄下全部工作表。如下:" & Chr(13) & Wbn, vbInformation, "提示"End Sub
3、使用PQ方法(适用于Excel2016及以上)pq法不需要使用长长的代码,制作的过程如下
下次再遇到需要合并工作簿的时候,不用去复制粘贴了,这3个方法,你更喜欢用哪个方法呢?动手试试吧~不会的话就先收藏起来,以后用得上~
欢迎分享转载→http://www.youqulife.com/read-232805.html
上一篇:上班美文(随笔工作)
Copyright © 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图HTML地图XML地图