【发布时间】:2017-08-29 00:51:49
【问题描述】:
我的电子表格中有一个 PAYMENT 列和一个 MASTER LIST OF PAYMENT 列。 PAYMENT 列在 INPUT 工作表中,而 MASTER LIST 列在 CASHFLOW 工作表中。这个想法是将输入范围从 PAYMENT 列复制到 MASTER LIST 列,粘贴 MASTER LIST 列的下一个空白行。
例如: 进行了 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
【问题讨论】:
-
从
MASTER LIST列获取最后使用的行号并相应地粘贴您的值。 -
付款工作表是否像主列表工作表一样是动态列表?
-
@ManishChristian 嗨,我希望 VBA 自动粘贴它,因为我的数据非常大,手动粘贴很麻烦。
-
@RafaelMatos 你好。不,我的电子表格中的付款列是静态的,实际上它始终来自 B73:B82。在我上面的例子中,它总是 A1:A3。但是将在那里输入的数据可能并不总是相同的。就像有时只输入1个数据,有时有3-4个数据,等等。