从excel文件复制数据行

时间:2013-06-04 09:44:26

标签: excel vba excel-vba excel-2007 excel-2010

嗨,大家好!
我有一个包含文件的目录。 每个文件都有一个工作表。 我需要将指定的行(例如G:G)从每个文件复制到一个master_file.xlsx(从我开始我的宏)。
问题之一是行非常大(约2000个值),因此我的代码会针对每次迭代抛出警告:剪贴板中的大量信息。 请帮助我尝试。
非常感谢!!!
我的代码如下:

    Sub 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 个答案:

答案 0 :(得分:1)

切换到ThisWorkbook&在关闭新打开的工作簿之前插入,然后在ActiveWorkbook.Close之前简单地将剪贴板中的大数据换成较小的数据; range("A1").copy