發(fā)布時(shí)間:2024-01-24閱讀(18)

工作中,多個(gè)工作簿的數(shù)據(jù)合并至一個(gè)工作溥中是最痛苦的,使用復(fù)制粘貼太耗費(fèi)時(shí)間,還容易出錯(cuò)

今天教大家3個(gè)方法,輕松解決合并工作簿的問(wèn)題
1、csv文件,使用bat代碼法這種方法是有限制的,必須是csv格式的Excel文件,很多公司軟件里面導(dǎo)出的格式是這種的CSV格式的就可以使用此方法
合并的這個(gè)CSV文件就把所有單個(gè)的匯聚在一塊,如果首行都有標(biāo)題行,可以進(jìn)行篩選刪除再處理。

上面的方法是對(duì)于csv格式的文件才能使用的,如果是普通的xls或xlsx格式的話,就不適用了,這個(gè)時(shí)候,可以使用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 & "個(gè)工作薄下全部工作表。如下:" & Chr(13) & Wbn, vbInformation, "提示"End Sub
3、使用PQ方法(適用于Excel2016及以上)pq法不需要使用長(zhǎng)長(zhǎng)的代碼,制作的過(guò)程如下

下次再遇到需要合并工作簿的時(shí)候,不用去復(fù)制粘貼了,這3個(gè)方法,你更喜歡用哪個(gè)方法呢?動(dòng)手試試吧~不會(huì)的話就先收藏起來(lái),以后用得上~
歡迎分享轉(zhuǎn)載→http://www.avcorse.com/read-232805.html
Copyright ? 2024 有趣生活 All Rights Reserve吉ICP備19000289號(hào)-5 TXT地圖HTML地圖XML地圖