根据表1中的数据input自动填充工作表2中的date和用户名

在VBA方面我相对缺乏经验,所以我希望我的问题能够快速解决你掌握的所有问题:

背景我有一个用作数据input文件的字段,不同的人在不同的列和不同的行中插入数据。 我之前在同一张纸上有一种“签收”部分,其中一个单元格自动填充了用户名和date。 因此,当有大量的用户时,已经清楚1)由谁,2)在什么时候,数据已经被插入到文件中。

我需要的帮助为了减less同一张纸上的信息量,现在我想在另一张纸上有“签收”部分。 也就是说,当史蒂夫将数据插入到表格1中的单元格F:15和G:34中时,我希望他的用户名和date自动填充到表单2中的相同单元格中(即F:15和G:34) 。

数据input范围在表1中,从第3列到第36列和第4行到第44行。为了简单起见,我将使第2页看起来与第1页完全相同。因此,第2页的同样的“输出”范围。

当前的代码这是我的老代码,我需要帮助重写,以便用户名和date在工作表2:

Private Sub Worksheet_Change(ByVal Target As Range) Dim c As Range If Target.Column >= 3 And Target.Column <= 36 And Target.Row >= 4 And Target.Row <= 44 Then For Each c In Target If c.Value = "" Then c.Offset(0, -6).Value = ClearContents Else c.Offset(0, -6).Value = Environ("username") & " " & Date End If Next c End If 

你的帮助真的很感激!

只需要将该值明确分配给Sheet 2.请参见下文。

 Private Sub Worksheet_Change(ByVal Target As Range) Dim c As Range If Target.Column >= 3 And Target.Column <= 36 And Target.Row >= 4 And Target.Row <= 44 Then Dim ws2 as Worksheet Set ws2 = Worksheets("Sheet2") For Each c In Target If c.Value = "" Then ws2.Range(c.Address).ClearContents Else ws2.Range(c.Address).Value = Environ("username") & " " & Date End If Next c End If