Selected Answer
Sunil
You explained in the Discvussion (below your question) that you want to track a value which is chnaged remotely.
As in a previous solution for you, I've created a .xlsx file (which needs to be open) and cell B2 (yellow) is the value which might changed by you entering a new value.
In the .xlsm file, the sheet "Intermediate" links to that cell since cell A2 has the formula:
='[Remote data link with changing value v0_a.xlsx]Sheet1'!$B$2
With both files open. type a new value in yellow cell B2 of Remote data link with changing value v0_a.xlsx
That triggers this event macro (at the Workbook level) in the .xlsm file and records the new value and time (if changed), moving previous values too:
Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
If Sh.Name <> "Intermediate" Then Exit Sub
Dim ThisVal As Double
' capture remote value
ThisVal = Sheet2.Range("A2").Value
' look as cell A2 in Report Sheet
With Sheet1.Range("A2")
'check if value changed and modify Report Sheet
If ThisVal <> .Value Then
'shift A2:B3 to B2:C3
.Offset(0, 1).Resize(2, 2).Value = .Resize(2, 2).Value
' write new value and time(below)
.Value = ThisVal
.Offset(1, 0).Value = Now
End If
End With
End Sub
You can hide the sheet Intermediate if you like.
Hope this works for you.