更多Excel技巧干貨婴梧,請關(guān)注微信公眾號: Excel實(shí)用技巧分享
工作中,多個工作簿的數(shù)據(jù)合并至一個工作簿中是比較麻煩的艺沼,使用復(fù)制粘貼太耗費(fèi)時間胰舆,還容易出錯骚露。
目前有三種方法:
一.如果文件都是csv形式的文件,可以使用使用bat代碼法缚窿,這種方法僅限于csv文件棘幸。
方法:首先將要合并的csv文件統(tǒng)一放入到一個文件夾下,然后再新建一個文本文檔倦零,在里邊寫入代碼 copy *.csv merge.csv误续,然后保存txt文件,然后將txt文件的后綴.txt修改為.bat 扫茅。過程如下圖:
代碼中的merge.csv 是合并后的文件名稱蹋嵌。后綴修改完成后,雙擊運(yùn)行.bat文件葫隙,文件夾內(nèi)的文件就會被合并到一個csv文件中栽烂。
這種方法僅適用于csv文件。
第二種方法:使用VBA代碼完成自動合并恋脚。
步驟:首先將需要合并的excel文件放入到同一個文件夾下愕鼓,如下圖:
然后,新建一個excel文件慧起,如下圖:
然后打開剛剛新建的excel文件菇晃,按下【Alt + F11】組合鍵,調(diào)出VBE編輯器蚓挤,右鍵編輯器左側(cè)空白區(qū)域磺送,新建一個模塊,如下圖:
然后將下面的代碼復(fù)制粘貼進(jìn)去灿意,按【F5】鍵執(zhí)行宏程序估灿。
Sub merge_workbook()
Dim MP, MN, AW, Wbn, wn
Dim Wb As Workbook
Dim i, a, b, d, c, e
Application.ScreenUpdating = False
MP = ActiveWorkbook.Path
MN = Dir(MP & "" & "*.xls")
AW = ActiveWorkbook.Name
ActiveWorkbook. Activesheet.UsedRange.clearcontents
Num = 0
e = 1
Do While MN <> ""
If MN <> AW Then
Set Wb = Workbooks.Open(MP & "" & MN)
a = a + 1
With Workbooks(1).ActiveSheet
For i = 1 To Sheets.Count
If Sheets(i).Range("a1") <> "" Then
Wb.Sheets(i).Range("a1").Resize(1, Sheets(i).UsedRange.Columns.Count).Copy .Cells(1, 1)
d = Wb.Sheets(i).UsedRange.Columns.Count
c = Wb.Sheets(i).UsedRange.Rows.Count - 1
wn = Wb.Sheets(i).Name
.Cells(1, d + 1) = "表名"
.Cells(e + 1, d + 1).Resize(c, 1) = MN & wn
e = e + c
Wb.Sheets(i).Range("a2").Resize(c, d).Copy .Cells(.Range("a1048576").End(xlUp).Row + 1, 1)
End If
Next
Wbn = Wbn & Chr(13) & Wb.Name
Wb.Close False
End With
End If
MN = Dir
Loop
Range("a1").Select
Application.ScreenUpdating = True
MsgBox "共合并了" & a & "個工作薄下全部工作表。"
End Sub
過程如下圖:
然后將匯總的數(shù)據(jù)復(fù)制到一個新的表格就行了缤剧。
另外馅袁,這個含有VBA代碼的文件,可以另存為.xlsm類型的文件荒辕,以后有類似的工作汗销,都可以使用這個宏文件來處理了。
過程如下圖:
更進(jìn)一步的抵窒,我們可以插入一個按鈕弛针,來綁定這個程序,以后只需要點(diǎn)擊這個按鈕就可以來執(zhí)行這個程序了李皇,過程如下圖:
插入按鈕在【開發(fā)工具】欄里邊削茁,
沒有這個選項(xiàng)卡的同學(xué),可以在選項(xiàng)里邊添加,過程如下圖:
然后在【開發(fā)工具】選項(xiàng)卡里邊點(diǎn)擊【插入】茧跋,選擇第一個按鈕慰丛,并在合適的位置插入按鈕。
第三種方法:使用Excel的高級功能瘾杭,PQ
首先诅病,打開一個新的excel文件,選擇【數(shù)據(jù)】選項(xiàng)卡富寿,如下圖:
按照【數(shù)據(jù)】-【獲取數(shù)據(jù)】-【自文件】-【從文件夾】的順序點(diǎn)擊睬隶,選中存放數(shù)據(jù)的文件夾锣夹,加載編輯在彈出的PQ查詢器中页徐,添加列,自定義列银萍,輸入公式:Excel.Workbook([Content],true)在彈出的自定義列中進(jìn)行篩選变勇,只選擇data繼續(xù)篩選,這次所有的列都進(jìn)行保留在菜單中贴唇,關(guān)閉并上載至Excel表格搀绣,刪除不需要的數(shù)據(jù)區(qū)域即可,
過程如下圖:
今天的內(nèi)容就到這里了戳气,趕快動手試試把~~~