我正在设置一个电子表格,目的是允许用户按员工和日期输入数据。我想创建一个动态表,根据条目扩展到另一个表。例如,我可以根据输入TABLE2的新员工自动扩展TABLE1,看起来像TABLE3,使TABLE3为新用户输入准备好进入“值”列吗?
表1
表2
表3
答案 0 :(得分:0)
这不是做事的最佳方式,但这可能对您有所帮助,或者至少指出您正朝着正确的方向努力。
如果表1位于Sheet1中的Sheet1和表2中,当表2中添加了新行时,以下代码将复制该名称并将其粘贴三次到表1的表1中,然后从记录中复制日期以上,在这种情况下比尔的约会。
将以下代码放在工作表更改事件的工作表2下,如下图所示:
代码:
Private Sub Worksheet_Change(ByVal Target As Range)
LastRow = Sheet2.Cells(Sheet2.Rows.Count, "A").End(xlUp).Row 'check the last row on Sheet 2 Table 2
LastRow1 = Sheet1.Cells(Sheet1.Rows.Count, "A").End(xlUp).Row + 1 'Check the last row on Sheet1 Table 1
If Target.Row = LastRow Then 'if a new row is added to Table 2
Sheet1.Cells(LastRow1, Target.Column).Value = Target.Value 'copy their name to table 1 three times
Sheet1.Cells(LastRow1 + 1, Target.Column).Value = Target.Value
Sheet1.Cells(LastRow1 + 2, Target.Column).Value = Target.Value
Sheet1.Cells(LastRow1, 2).Value = Sheet1.Cells(LastRow1, 2).Offset(-3, 0).Value 'copy the Date from the date above on Sheet1
Sheet1.Cells(LastRow1 + 1, 2).Value = Sheet1.Cells(LastRow1 + 1, 2).Offset(-3, 0).Value
Sheet1.Cells(LastRow1 + 2, 2).Value = Sheet1.Cells(LastRow1 + 2, 2).Offset(-3, 0).Value
End If
End Sub