我是excel的VBA新手,我正在尽可能地自动化电子表格。
我附上了一张示例表的图像。我想要做的是将单元格K9 / K10中的数据复制到左侧表格的新行中。这个表每周增加行数,我希望能够自动化这个过程,所以我可以点击一个按钮,数据会自动输入到正确的列中,并且所有内容都会自动填充。
我希望这是有道理的!
谢谢!
答案 0 :(得分:0)
我不确定你是如何计算Processed的值的,但是下面的代码会添加一个新行并填充除了那个之外的每个字段,只需将代码放在你正在使用的Sheet下。
这也假定您的百分比是使用公式计算的,该公式将被放入新行而无需显式添加。
它将检查单元格K10中的更改,如果某些内容发生了变化,它将获取值并在表格中添加一行:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$K$10" Then
Dim ws As Worksheet: Set ws = Sheets("Sheet1")
'declare and set your worksheet, amend as required
LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
'get the last row with data on Column A
ws.Cells(LastRow + 1, 1).Value = ws.Cells(LastRow, 1) + 1 'add one to the Week Number
ws.Cells(LastRow + 1, 2).Value = ws.Cells(LastRow, 2) + 7 'add 7 to the Week Beginning Date
ws.Cells(LastRow + 1, 3).Value = ws.Range("K9").Value + ws.Range("K10").Value 'get the Total
ws.Cells(LastRow + 1, 4).Value = ws.Range("K9").Value 'copy the Passes
ws.Cells(LastRow + 1, 5).Value = ws.Range("K10").Value 'copy the Fails
End If
End Sub
您需要做的就是打开工作簿,按Alt + F11,然后打开VBA环境,然后双击您正在使用的工作表并将其粘贴到那里,如下图所示: