2014-06-17 21 views

回答

0

你不是很具體,但你可以試試這個。它會將文件夾內的所有文件合併爲一個文件夾。你將不得不將它適應你所擁有的數據(行標題等)。

Sub MergeFiles() 
'Description: Combines all files in a folder to a master file. 
    Dim path As String 
    Dim ThisWB As String 
    Dim lngFilecounter As Long 
    Dim wbDest As Workbook 
    Dim shtDest As Worksheet 
    Dim ws As Worksheet 
    Dim Filename As String 
    Dim Wkb As Workbook 
    Dim CopyRng As Range 
    Dim Dest As Range 
    Dim RowofCopySheet As Integer 

    RowofCopySheet = 3 ' Row to start on in the sheets you are copying from 

    ThisWB = ActiveWorkbook.Name 

    path = GetFolder("") 

    Application.EnableEvents = False 
    Application.ScreenUpdating = False 

    Workbooks.Add 
    ChDir path 
    ActiveWorkbook.SaveAs Filename:= _ 
     (path & "combinedfilesforfolder.xlsm"), FileFormat:= _ 
     xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False 

    Set shtDest = ActiveWorkbook.Sheets(1) 
    Filename = Dir(path & "\*.xls", vbNormal) 
    If Len(Filename) = 0 Then Exit Sub 
    Do Until Filename = vbNullString 
     If Not Filename = ThisWB Then 
      Set Wkb = Workbooks.Open(Filename:=path & "\" & Filename) 
      Set CopyRng = Wkb.Sheets(1).Range(Cells(RowofCopySheet, 1), _ 
       Cells(ActiveSheet.UsedRange.Rows.count, ActiveSheet.UsedRange.Columns.count)) 
      Set Dest = shtDest.Range("A" & shtDest.UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1) 
      CopyRng.Copy Dest 
      Wkb.Close False 
     End If 

     Filename = Dir() 
    Loop 
相關問題