Excel(2003) – 在单元格上自动插入date

我真的不知道这是一个编程问题,但我相信你们中的一个可以很容易地帮助我。

我正在尝试在Excel中创build一个自动“插入date”函数。 即当一个人在我的Excel文档中的一行input数据时,我想让另一个单元自动显示插入的date。

站在细胞内,我试图显示date,我写了以下内容:

=IF(ISBLANK(C20);1;TODAY()) 

这很好,直到我第二天打开它。 显然它会将date设置为“今天”,但是如果我希望它只更新一次,在插入时 – 我该怎么做?

像这样思考(Java – 伪)。

 IF(!OTHER.CELL.ISBLANK() && THIS.CELL.ISBLANK()){ THIS.CELL = TODAY(); } 

现在,如何在Excel中做到这一点?

提前致谢。

您将使用Worksheet_Change事件

  1. 右键单击您的工作表标签
  2. 查看 – 代码
  3. 复制并粘贴到下面的代码中

这个代码

  • 跟踪并更改到Activesheet的C列
  • 将当前数据和用户login名放入D列中的每个相应单元

Set rng1 = Intersect(Range("C:C"), Target)

Application.EnableEvents = False用于在D列正在写入时停止代码重新引发

你可以很容易地适应这个
1)写入不同的(可能是隐藏的)日志表
2)改为写入一个文本文件

请让我知道,如果你想要任何更新

 Private Sub Worksheet_Change(ByVal Target As Range) Dim rng1 As Range Set rng1 = Intersect(Range("C:C"), Target) If rng1 Is Nothing Then Exit Sub Application.EnableEvents = False rng1.Offset(0, 1).Value = Now() & " - " & Environ("username") Application.EnableEvents = True End Sub 

在这里输入图像说明