2017-04-03 40 views
2

我需要一种方法来为通过公式更改其值的相邻单元格加上时间戳。作为一个例子,我使用this作为一个例子,我需要在工作表1上与A1相邻的单元格为单元格值更改时的日期和时间添加时间戳。通过公式更改单元格时的时间戳

上面链接的示例在单元格值通过公式更改时启动消息框(当工作表中的变量包含由于单元格更改而更改值的公式时,不会识别对单元格值的更改别处)。我不想要消息框,但我确实需要时间戳。

为了简单起见,我将在此链接的问题发布说明,任何有关此特定问题的其他帮助表示赞赏。

在Sheet 1中单元格A1,把这个公式

=Sheet2!A1+1 

现在在一个模块粘贴此代码

Public PrevVal As Variant 

在表代码区域粘贴此

Private Sub Worksheet_Calculate() 
    If Range("A1").Value <> PrevVal Then 
     MsgBox "Value Changed" 
     PrevVal = Range("A1").Value 
    End If 
End Sub 

并且最后在ThisWorkbook代码区粘贴此代码

Private Sub Workbook_Open() 
    PrevVal = Sheet1.Range("A1").Value 
End Sub 

回答

2

更改MsgBox "Value Changed"到:

Range("B1").Value = Format(Now, "dd/mm/yyyy hh:mm:ss") 

或任何timestamp format您需要

+1

哇,感谢您的快速答复。这工作完美。 – Andy

+0

这可以修改以适应一系列的单元格,比如A1:A10? – Andy

+1

@Andy你需要将你以前的值保存在一个数组中 - 改变你现在使用的代码并不是很难,但它肯定是不同的,你应该问一个新的问题。 :) – CallumDA