代码导致公式无法正常工作

时间:2014-06-16 11:57:25

标签: excel excel-vba excel-formula excel-2007 vba

我在同一工作簿中有一个名为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.

非常感谢您对此事的任何帮助。

1 个答案:

答案 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