Excel VBA复制,粘贴,插入变量行

时间:2017-03-27 22:46:02

标签: excel vba excel-vba

我对VBA很新。我试图用1个工作簿中的数据复制行并将其插入另一个工作簿。源具有变量#行。目标只有10个可用行,后跟Merged单元格。

我的目标是:计算源行数,从中减去10,结果将是在粘贴之前要在目标工作簿中插入的行数。

示例:32个源行(变化) - 10个目标行(固定)= 22个要插入目标WB的行,将合并的单元格向下推。如果结果为< = 10,则只需粘贴而不插入。

谢谢!

1 个答案:

答案 0 :(得分:3)

这样的事情:

Sub Test()
    Dim sourceRange As Range, destinationRange As Range
    Dim rowsToInsert As Long

    With ThisWorkbook.Worksheets("Sheet1")
        Set sourceRange = .Range(.Range("A1"), .Cells(.Rows.Count, "A").End(xlUp))
    End With
    Set destinationRange = Workbooks("SomeBook.xlsx").Worksheets("Sheet1").Range("A1")

    rowsToInsert = Application.Max(sourceRange.Rows.Count - 10, 0)

    If rowsToInsert > 0 Then destinationRange.Resize(rowsToInsert, 1).EntireRow.Insert

    sourceRange.EntireRow.Copy Destination:=destinationRange
End Sub