dde链接单元格更改时的时间戳

我有第11栏(dde链接)的数据。 我希望有一个时间戳12列11列的数据发生变化。这里有一些代码,我已经尝试过,但没有按预期工作吗?

在第1页…..:

Private Sub Workbook_Open(ByVal Target As Range) Sheet1.ValDDE = Target.Column = 10 End Sub 

在模块1 ……..:

 Public ValDDE Private Sub Worksheet_Calculate(ByVal Target As Range) If VarType(ValDDE) = VarType(Target.Column = 10) Then If ValDDE <> Cells(Target.Column, 12).Value = Now Then _ MsgBox "New value : " & Target.Column = 11 _ Else Exit Sub Else: MsgBox "New value : " & Target.Column = 11 End If ValDDE = Target.Column = 11 End Sub Sub ddetrackchange() End Sub 

我build议你删除'计算'的方法,因为这是令人讨厌的performance减慢魂器之一

请尝试以下worksheet changed event 。 如果只检测一个单元格,则不需要检查具有for loop的范围中的每个单元格。

 Private Sub Worksheet_Change(ByVal Target As Excel.Range) Dim myRng As Range Set myRng = Range("D2") 'change according to yours If Target.Application.DDEAppReturnCode = True 'this check the dde link updates specifically If Target.Address = myRng.Address Then 'change time in some other cell Range("E2").value = now() else 'do something else End If else 'do something else End If End Sub 
  • MSDN库参考