Excel 宏 VBA - 如何插入复制的单元格而不是粘贴

bat*_*bie 2 excel vba

我有一个运行以下代码的宏,用于将数据从一个 Excel 文件复制到另一个 Excel 文件中。目前,它正在将数据复制并粘贴到第二个 Excel 文件中。这意味着它会覆盖第二个 Excel 文件中的所有数据。

我希望它插入复制的单元格,而不是粘贴工作簿中已有的数据。我应该如何编辑第 27 行才能使其正常工作?

我想我需要使用以下代码,但我不确定如何将其应用到我的原始代码中。

InsertCopiedCells
Run Code Online (Sandbox Code Playgroud)

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

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
Run Code Online (Sandbox Code Playgroud)

sha*_*esh 5

代替

wsCopyTo.Range("A2").PasteSpecial Paste:=xlPasteValues, _
            Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Run Code Online (Sandbox Code Playgroud)

wsCopyTo.Range("A2").Insert xlShiftDown
Run Code Online (Sandbox Code Playgroud)