Excel批量合并不同工作簿的數據
新建Excel文件并啟用宏為了將大量的Excel工作簿合并成一個表,并保留原工作簿的名稱信息,需要按照以下步驟操作:1. 新建一個Excel文件。2. 使用“另存為”功能,將文件類型選擇為“Excel
新建Excel文件并啟用宏
為了將大量的Excel工作簿合并成一個表,并保留原工作簿的名稱信息,需要按照以下步驟操作:
1. 新建一個Excel文件。
2. 使用“另存為”功能,將文件類型選擇為“Excel啟用宏的工作簿”。
將需要合并的表放置在同一文件夾中
為了方便合并,把需要合并的Excel表格都放置在同一個文件夾下。
填寫文件夾路徑和匯總后的文件名
在新建的Excel文件的B2單元格中填寫需要合并的文件夾路徑(必填)。在B3單元格中填寫匯總后的文件名(如果不填,默認為“00_數據匯總”)。
打開VB編輯器并添加代碼
按下快捷鍵“Alt F11”可以打開VB編輯器。然后點擊“插入”-“模塊”,在新模塊的編輯欄中輸入以下代碼:
```
Sub 數據匯總()
Dim j As String
If Cells(3, 2) "" Then
j "00_數據匯總"
Else
j Cells(3, 2)
End If
If Cells(2, 2) "" Then
MsgBox "請在B2單元格填寫文件夾地址"
Exit Sub
Else
GoTo T
End If
T: pth Cells(2, 2) ""
fn Dir(pth "*.xlsx")
Set newbk
Set sht (1)
k 1
Application.DisplayAlerts False
Do While fn <> ""
Set Wb (pth fn)
'同一工作簿中幾個工作表都要合并時啟用
'sht.Cells(k, 1) fn ":" (1).Name
Columns("A:E").Select
Selection.EntireColumn.Hidden False
mc (Sheets(1).Columns(5))
Columns("A:A").Insert Shift:xlToRight, CopyOrigin:xlFormatFromLeftOrAbove
Range(Cells(2, 1), Cells(mc, 1)).Select
Selection Left(fn, InStrRev(fn, ".") - 1)
k k 1
Selection fn
(1).Rows("2:" mc).Copy
sht.Cells(k, 1).PasteSpecial xlPasteValuesAndNumberFormats
k 1
'同一工作簿中幾個工作表都要合并時啟用
' False
fn Dir
Loop
pth j ".xlsx"
False
Application.DisplayAlerts True
End Sub
```
開始自動合并到一個新的文件中
按下F5鍵,開始執行宏代碼,將所有需要合并的Excel表格中的數據自動合并到一個新的文件中。合并后的文件名為之前填寫的匯總后文件名,默認為“00_數據匯總”。