Excel宏VBA-如何插入复制的单元格而不是粘贴 [英] Excel Macro VBA - How to insert copied cells instead of paste

查看:77
本文介绍了Excel宏VBA-如何插入复制的单元格而不是粘贴的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have a macro running with the following code to copy data from one Excel file into another Excel file. Currently it is copying and pasting the data into the second Excel file. This means it overwrites any data that is in the second Excel file.

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

I would like it to insert the copied cells rather than paste over the data already in the workbook. How should I edit line 27 to make this work?

我认为我需要使用以下代码,但不确定如何将其应用于我的原始代码.

I think I need to use the following code but I'm not sure how to apply it to my original code.

InsertCopiedCells

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

Here is the original code that is pasting the data.

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

推荐答案

替换

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

wsCopyTo.Range("A2").Insert xlShiftDown

这篇关于Excel宏VBA-如何插入复制的单元格而不是粘贴的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆