单击宏按钮时,将复制单元格范围并粘贴到另一个工作表的下一个空白行

时间:2017-08-28 15:39:22

标签: excel vba excel-vba

我的电子表格中有一个PAYMENT列和一个MASTER LIST OF PAYMENT列。 PAYMENT列位于INPUT工作表中,而MASTER LIST列位于CASHFLOW工作表中。我们的想法是将输入范围从PAYMENT列复制到MASTER LIST列,粘贴MASTER LIST列的下一个BLANK ROW。

例如: 已完成3笔付款,数据为A1:A3。将A1:A3复制到MASTER LIST列A8:A10。再次,支付了3笔款项。但由于MASTER LIST列A8:A10已经有以前的数据。这次数据将粘贴到A11:A13。等等。

到目前为止,我已经制作了以下代码但是我成功地只复制并粘贴了一行(范围的第一行)。我尝试编辑它来复制细胞范围,但它给了我一个错误。有什么建议?谢谢!

Sub PAYMENTS_TRANSFER()
Response = MsgBox("Are you sure?", vbYesNo)
If Response = vbNo Then Exit Sub
Dim nextrow As Long
nextrow = Worksheets("Cashflow").Cells(Rows.Count, "A").End(xlUp).Row + 1
If nextrow < 8 Then nextrow = 8
Worksheets("Cashflow").Range("A" & nextrow).Value = Worksheets("Input").Range("A1").Value
End Sub

1 个答案:

答案 0 :(得分:0)

您没有复制整个范围,因为您没有工作表中的底行号(“输入”)。 试试这个:

    Sub PAYMENTS_TRANSFER()
    Response = MsgBox("Are you sure?", vbYesNo)
    If Response = vbNo Then Exit Sub
    Dim nextrow As Long
    nextrow = Worksheets("Cashflow").Cells(Rows.Count, "A").End(xlUp).Row + 1
    lastrow = Worksheets("Input").Cells(Rows.Count, "A").End(xlUp).Row
    If nextrow < 8 Then nextrow = 8
    Worksheets("Cashflow").Range("A" & nextrow).Value = Worksheets("Input").Range("A1:A" & lastrow).Value
    End Sub