返回列表 上一主題 發帖

[發問] EXCEL 檔案合併

[發問] EXCEL 檔案合併

請問一下  如何把多個excel檔案 合併成1個活頁簿裡面有多個工作表?
Jason

回復 1# eg0802

利用VBA
  1. Sub MergeBook()
  2. Dim MyPath$, MyName$, wb As Workbook, sh As Worksheet, sht As Worksheet
  3. Set wb = ThisWorkbook
  4. MyPath = ThisWorkbook.Path & "\"
  5. MyName = Dir(MyPath & "*.xls")
  6. Application.ScreenUpdating = False
  7. Application.DisplayAlerts = False
  8. For Each sh In Sheets
  9.   If sh.Name <> ActiveSheet.Name Then sh.Delete
  10. Next
  11. Do While MyName <> ""
  12.   If MyName <> ThisWorkbook.Name Then
  13.      With GetObject(MyPath & MyName)
  14.        For Each sht In .Sheets
  15.            sht.Copy After:=wb.Sheets(wb.Sheets.Count)
  16.        Next
  17.        .Close False
  18.      End With
  19.   End If
  20.   MyName = Dir
  21. Loop
  22. Application.DisplayAlerts = True
  23. Application.ScreenUpdating = True
  24. End Sub
複製代碼
合併活頁簿.rar (9.64 KB)

TOP

回復 2# register313


    r大 小弟不才....完全不會用vba.....能否教我如何使用?
Jason

TOP

回復 2# register313


    R大 再請教一下,我剛測試一下你的檔案,我把檔案放到桌面,發現幾乎把所有的EXCEL 都合併再一起,看了一下合併的內容,都是桌面上的EXCEL檔案,我想我明白該如何使用此功能了,再次感謝!!!!

能否再請教一個問題  如果我合併後,統一修改好資料,要把活頁簿再分散為個別檔來該如何做呢?
Jason

TOP

回復 2# register313
請問, 可否解釋一下這段:

.MyPath = ThisWorkbook.Path & "\"
.MyName = Dir(MyPath & "*.xls")
-----------------------------------------
這個程式碼的用意, 是在取得 目前工作路徑下 的 "第一個 excel 檔案"的 完整路徑與 名稱嗎?

TOP

回復 5# alumi

正確

TOP

最近被公司的資料搞得頭昏腦脹
看到這個真的讓我又學到了很多~
感謝每位先進的分享

TOP

讚,超級方便 好用

TOP

那如果是把多個檔案合併在同一個活頁簿裡面呢  不要分很多個工作表  只要一個

TOP

回復 2# register313

謝謝你提供好工具

TOP

        靜思自在 : 有智慧才能分辨善惡邪正;有謙虛才能建立美滿人生。
返回列表 上一主題