1. 程式人生 > >多個Excel文件合併成一個文件檔案

多個Excel文件合併成一個文件檔案

Sub Macro1()
Dim MyPath$, MyName$, sh As Worksheet, sht As Worksheet, m&
Set sh = ActiveSheet
MyPath = ThisWorkbook.Path & "\"
MyName = Dir(MyPath & "*.xls")
Application.ScreenUpdating = False
Cells.ClearContents
Do While MyName <> ""
If MyName <> ThisWorkbook.Name Then
With GetObject(MyPath & MyName)
For Each sht In .Sheets
If IsSheetEmpty = IsEmpty(sht.UsedRange) Then
m = m + 1
If m = 1 Then
sht.[a1].CurrentRegion.Copy sh.[a1]
Else
sht.[a1].CurrentRegion.Copy sh.[a65536].End(xlUp).Offset(1)
End If
End If
Next
.Close False
End With
End If
MyName = Dir
Loop
Application.ScreenUpdating = True
End Sub

在第四行 MyName = Dir(MyPath & "*.xls") 將*.xls修改為*.xlsx和*.csv可分別合併07版本以後的Excel檔案和csv檔案

步驟:

1、先把將要合併的多個Excel文件放在同一個資料夾中,然後再資料夾中建立一個新的Excel文件並開啟

2、在sheet1工作表右鍵點選“檢視程式碼”,將上面的程式碼貼上進去

3、程式碼視窗的選單欄點選“執行”--“執行子過程/使用者窗體”或者直接按F5

就可以看到合併後的資料呈現在新的工作表中,點選儲存,可能會出現下圖的情況.....點選“是”