我真的不知道这是否是一个编程问题,但我相信你们其中一个人可以轻松地帮助我解决这个问题.
我试图在Excel中创建一个自动"插入日期"功能.即当一个人在我的Excel文档中连续输入数据时,我希望另一个单元格自动显示插入日期.
站在牢房内我试图显示日期,我写了以下内容:
=IF(ISBLANK(C20);1;TODAY())
Run Code Online (Sandbox Code Playgroud)
这很好用,直到我在第二天打开它.显然它会将日期设置为"TODAY",但如果我希望它只更新一次,在插入时 - 我该怎么做?
想这样的事情(Java - 伪).
IF(!OTHER.CELL.ISBLANK() && THIS.CELL.ISBLANK()){
THIS.CELL = TODAY();
}
Run Code Online (Sandbox Code Playgroud)
现在,如何在Excel中执行此操作?
提前致谢.
您将使用该Worksheet_Change事件
这段代码
仅按此行中的指定捕获已更改的C列单元格
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
Run Code Online (Sandbox Code Playgroud)
