如果某个单元格被修改,如何更新单元格中的date

我已经设置好了,所以当单元格数据发生变化时,它会更新date。 刷新工作簿时,即使未修改单元格内容,也会更新date。

我只想更新date,如果我修改单元格的内容。 我从CSV文件中提取数据,所以我经常不得不刷新一次又一次。 我如何解决这个问题,以便它只显示一个单元格被真正修改的date?

我现在有一个这样的公共职能,但它不起作用。

Public Function worksheetChange(ByVal Target As Range) If Not Application.Intersect(Target, [D4]) Is Nothing Then [L4] = Date End Function 

即使当我刷新工作表,我没有修改单元格,它仍然更新date,我怎么解决这个问题?

编辑:我想出了这种types的VBA代码,但我不知道如何得到它的工作。

 Private Sub Worksheet_Change(ByVal Target As Range) If Not Application.Intersect(Target, [D4]) Is Nothing Then If Not ActiveWorkbook.RefreshAll Then [L4] = Date End Sub 

事后看来,这段代码意味着,如果应用程序不相交,则采取D4,而且,如果工作簿不刷新,则将L4更新为今天的date。

谢谢。

请参阅链接

 Dim oldValue Public Sub Worksheet_SelectionChange(ByVal Target As Range) oldValue = Target.Worksheet.Range("D4").Value End Sub Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Target.Worksheet.Range("D4")) Is Nothing Then If oldValue <> Target.Worksheet.Range("D4").Value Then Target.Worksheet.Range("L4").Value = Date End If End If End Sub