返回列表 上一主題 發帖

合併一個excel內的幾個worksheet的內容在另一個excel內的一個worksheet內

回復 1# 198188
  1. Private Sub cmdMerge_Click()
  2. Dim wb As Workbook, msh As Worksheet, mxsh As Worksheet, fs As String, sh, Tr As Range
  3. Application.ScreenUpdating = False
  4. fd = ThisWorkbook.Path & "\" '檔案目錄"
  5. Set msh = ThisWorkbook.Sheets("參數設定")
  6. Set mxsh = ThisWorkbook.Sheets("合併結果")
  7. fs = fd & msh.[B1] & "." & msh.[B2]
  8. If Dir(fs) = "" Then MsgBox "檔案目錄錯誤請檢查": Exit Sub
  9. mxsh.Cells.Clear
  10. Set wb = Workbooks.Open(fs)
  11.   For Each sh In msh.Range(msh.[B6], msh.[B6].End(xlDown))
  12.      With wb.Sheets(CStr(sh))
  13.      If Tr Is Nothing Then Set Tr = .Range(.[A1], .[A1].End(xlToRight)): Tr.Copy mxsh.[A1]
  14.         .Range("A1").CurrentRegion.Offset(msh.[B4], msh.[B3] - 1).Copy mxsh.[A65536].End(xlUp).Offset(1)
  15.      End With
  16.   Next
  17. wb.Close 0
  18. MsgBox "合併完成"
  19. Application.ScreenUpdating = True
  20. End Sub
複製代碼
學海無涯_不恥下問

TOP

回復 3# 198188


    workbooks.open主要是filename引數的取得
filename是活頁簿的路徑包含檔案名稱所組成的字串
想想如何得到此字串是解決問題的根本
論壇中此類文章甚多可以參考
學海無涯_不恥下問

TOP

        靜思自在 : 世上有兩件事不能等:一、孝順 二、行善。
返回列表 上一主題