2014-09-13 61 views
1

我有一个运行以下代码的宏将数据从一个Excel文件复制到另一个Excel文件中。目前它正在将数据复制并粘贴到第二个Excel文件中。这意味着它会覆盖第二个Excel文件中的所有数据。Excel宏VBA - 如何插入复制的单元格而不是粘贴

我希望它插入复制的单元格,而不是粘贴在工作簿中已有的数据上。我应该如何编辑第27行来完成这项工作?

我想我需要使用下面的代码,但我不知道如何将它应用到我的原始代码。

InsertCopiedCells 

这是粘贴数据的原始代码。

Const strFile As String = "E:\My Documents\file2\file\MonthlyReports\Data\file1.xlsx" 
'Add the file location 

    Dim wbCopyTo As Workbook 
    Dim wsCopyTo As Worksheet 
    Dim wbCopyFrom As Workbook 
    Dim wsCopyFrom As Worksheet 

    Set wbCopyTo = ActiveWorkbook 
    Set wsCopyTo = ActiveSheet 

    '------------------------------------------------------------- 
    'Open file with data to be copied 

    Set wbCopyFrom = Workbooks.Open(strFile) 
    Set wsCopyFrom = wbCopyFrom.Worksheets(1) 

    '-------------------------------------------------------------- 
    'Copy Range 

    wsCopyFrom.Range("A2:AA5000").Copy 
    wsCopyTo.Range("A2").PasteSpecial Paste:=xlPasteValues, _ 
      Operation:=xlNone, SkipBlanks:=False, Transpose:=False 

回答

3

更换

wsCopyTo.Range("A2").PasteSpecial Paste:=xlPasteValues, _ 
      Operation:=xlNone, SkipBlanks:=False, Transpose:=False 

wsCopyTo.Range("A2").Insert xlShiftDown 
相关问题