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

时间:2014-09-13 14:20:51

标签: excel vba excel-vba

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

我希望它插入复制的单元格而不是粘贴工作簿中已有的数据。我该如何编辑第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

1 个答案:

答案 0 :(得分:3)

替换

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

wsCopyTo.Range("A2").Insert xlShiftDown