2013-06-04 57 views
0


大家好!
我有一個包含文件的目錄。 每個文件都有一個工作表。 我需要將指定的行(例如G:G)從每個文件複製到一個master_file.xlsx(從我開始我的宏)。
其中一個問題是行很大(約爲2000個值),所以我的代碼在每次迭代時都會拋出警告:剪貼板中有大量信息。 請幫我一試。
非常感謝!
我的代碼是下面:從excel文件複製數據行

子my_macros()

Dim sFileName, sNewFileName, myFile As String 

sFileName = ThisWorkbook.Path & "\master_file.xlsm" 
If Dir(sFileName, 16) = "" Then MsgBox "Warning", vbCritical, "Error" Exit Sub 
Cells.Select 
Selection.ClearContents 

For i = 1 To 5 
    'MsgBox (i) 
    sNewFileName = ThisWorkbook.Path & "\file_" & i & ".xlsx" 
    If Dir(sNewFileName, 16) = "" Then Exit For 
    Application.ScreenUpdating = False 
    'MsgBox (sNewFileName) 
    Workbooks.Open sNewFileName 
    Range("G:G").Select 
    Selection.Copy 
    ActiveWorkbook.Close 
    ThisWorkbook.Activate 
    'Active 
    Worksheets("Sheet1").Columns(2).Insert Shift:=xlToRight 
    Application.CutCopyMode = False 
    'Workbooks(sNewFileName).Close SaveChanges:=False 
Next i 

End Sub 

回答

1

轉爲ThisWorkbook &插入閉新打開的工作簿之前,然後之前ActiveWorkbook.Close簡單地換出在剪貼板中的大數據用更小的東西; range("A1").copy

相關問題