如何将值复制并粘贴到同一工作表中表格的下一个空行中

时间:2019-02-08 18:10:33

标签: excel vba

我在同一工作表上有2个表格。第一种允许用户输入合同工时/开始日期来确定其年假权利。这是一个公式,数字在I20,J20和K20单元格中。

当用户单击命令按钮时,这些数字将被复制到同一工作表上的“运行总计”表单中,复制到单元格P17,Q17和R17中。如果用户随后在第一个表格上更改了合同规定的小时数并再次单击命令按钮,则新的数字将被复制到单元格P18,Q18和R18中。此步骤可以重复多次(复制数据的最后一行是P22,Q22,R22)。

此“运行总计”表单的最后一行具有一个公式,用于求和该表单上的总数。

我是VBA的新手,但是设法创建了以下代码,将这些图复制到P17,Q17和R17中-但是我不确定如何将下一个图放入下面的行中。我认为这应该是一件简单的事情,但是我为此付出了一些努力。任何帮助将不胜感激。

Sub CopyRange()

'Value Paste Cells

Worksheets("Calculator").Activate

Range("P15").End(xlDown).Offset(1, 0).Select

ActiveCell.Value = Range("I20")
ActiveCell.Offset(0, 1).Value = Range("J20")
ActiveCell.Offset(0, 2).Value = Range("K20")

  Range("P23").End(xlUp).Offset(1, 0).Select

End Sub

最初,单击命令按钮后,将“运行总计”表中显示的数字复制到P17,Q17和R17中。然后显示活动单元格为P18。如果然后我更改第一个表单上的数字,然后再次单击命令按钮,则不会发生任何事情。

1 个答案:

答案 0 :(得分:0)

在没有看到工作表的情况下,很难确切知道放置位置以及End(xlUp)End(xlDown)的位置,但这应该可以帮助您入门。必要时进行调整。

With Worksheets("Calculator")

    .Range("P23").End(xlUp).Offset(1, 0).Resize(1,3).value = .Range("I20:K20").Value

End With