Excel单元格更新日期

问题描述 投票:0回答:2

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

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

excel
2个回答
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

0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.