Excel单元格更新日期

时间:2018-01-01 23:22:34

标签: excel

我正在使用Excel 2016电子表格,其中包含一些不同的工作表。手动数据更新与一个工作表上的复制粘贴方法一起使用,其他工作表运行数据分析公式。

现在假设数据不存在并且有几个人正在使用此文件,那么有关数据有多新鲜以及是否应该进行更新的问题。是否有一个公式可以用来记录特定单元格被覆盖时(对应于数据刷新的日期)?理想的是不使用VBA宏

2 个答案:

答案 0 :(得分:0)

不确定您是否可以在没有宏的情况下获取更改信息。 但是你可以使用宏,如果Row(在目标范围内)已被更改,它会更新工作表中的特定列。

例如:

'place in the target worksheet
Private Sub Worksheet_Change(ByVal Target As Range)
   sh = ThisWorkbook.ActiveSheet.Name
   If Not Intersect(Target, Range("A:B")) Is Nothing Then
     For Each cell In Target
       Call CellUpdate(sh, cell.Address, cell.Row, cell.Column)
     Next
  End If
End Sub

'place in a separate module
Sub CellUpdate(ByVal sheetName As String, ByVal cellName As String, ByVal cellRow As Long, cellColumn As Long)
    ' MsgBox (sheetName + " " + cellName+ " has been changed")
    Dim lastChanger As String
    lastChanger = ThisWorkbook.BuiltinDocumentProperties("Last author")
    ThisWorkbook.Sheets(sheetName).Cells(cellRow, 3).Value = "changed at " + Format(Now(), "yyyy-MM-dd hh:mm:ss") + " by " + lastChanger          
End Sub

答案 1 :(得分:0)

您可以复制整个数据范围并将其保存在一个非常隐藏的工作表(控制表)中,该工作表从ddMmmYY开始称为最后一个活动值。并添加另一张名为ddMmmYY之后自上次活动值以来更改的内容,将每个单元格与每个人正在使用/刷新的活动工作表与控制工作表进行比较。