根据另一个表中的条目动态扩展excel表

时间:2017-12-12 06:34:46

标签: excel dynamic excel-formula excel-2016 excel-tables

我正在设置一个电子表格,目的是允许用户按员工和日期输入数据。我想创建一个动态表,根据条目扩展到另一个表。例如,我可以根据输入TABLE2的新员工自动扩展TABLE1,看起来像TABLE3,使TABLE3为新用户输入准备好进入“值”列吗?

表1

TABLE 1

表2

TABLE 1

表3

enter image description here

1 个答案:

答案 0 :(得分:0)

这不是做事的最佳方式,但这可能对您有所帮助,或者至少指出您正朝着正确的方向努力。

如果表1位于Sheet1中的Sheet1和表2中,当表2中添加了新行时,以下代码将复制该名称并将其粘贴三次到表1的表1中,然后从记录中复制日期以上,在这种情况下比尔的约会。

将以下代码放在工作表更改事件的工作表2下,如下图所示:

enter image description here

代码:

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