我在同一工作簿中有一个名为data的工作表和多个工作表,这些工作表是工作人员姓名。
数据工作表包含各个员工工作表的摘要。
在数据工作表上,列A是工作人员姓名,列B是过去30天分配的任务,列C是过去7天分配的任务,列D是分配的最后1小时任务的日期/时间,列E是日期/分配了最后一个任务。
在单个员工工作表中,以下代码允许在B列中输入内容时,在E列中自动输入日期和时间。
以下是代码:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Columns("B:B")) Is Nothing Then
Target.Offset(0, 3).Value = Format(Now, "mm dd yyyy h:mm")
End If
End Sub
我的问题是,由于我输入了该代码,因此B,C,D和E列中数据表上的信息不正确。
不计算个别员工表上的信息。
在添加代码之前,公式正在运行。
例如 - 在我添加代码之前的30天里,Amy有3个报告。
自添加代码以来,她又收到了4份报告。
数据表上的B列应该是7,但它仍然显示为3.
非常感谢您对此事的任何帮助。
答案 0 :(得分:0)
我怀疑问题是您的日期/时间戳没有存储为实际日期。尝试使用:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Columns("B:B")) Is Nothing Then
with Target.Offset(0, 3)
.Value = Now
.Numberformat = "mm dd yyyy h:mm"
end with
End If
End Sub