0


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

子 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
4

1 回答 1

1

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

于 2013-06-04T09:51:45.867 回答